{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 1071e9a032b536769af3","webpack:///av-min.js","webpack:///./node_modules/core-js-pure/internals/export.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js","webpack:///./node_modules/underscore/modules/index-all.js","webpack:///./node_modules/core-js-pure/internals/fails.js","webpack:///./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack:///./node_modules/core-js-pure/internals/well-known-symbol.js","webpack:///./node_modules/underscore/modules/_setup.js","webpack:///./node_modules/core-js-pure/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js-pure/internals/is-callable.js","webpack:///./node_modules/core-js-pure/internals/global.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","webpack:///./node_modules/core-js-pure/internals/function-call.js","webpack:///./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack:///./node_modules/core-js-pure/internals/has-own-property.js","webpack:///./node_modules/underscore/modules/keys.js","webpack:///./node_modules/core-js-pure/internals/path.js","webpack:///./node_modules/underscore/modules/_tagTester.js","webpack:///./node_modules/core-js-pure/internals/is-object.js","webpack:///./node_modules/core-js-pure/internals/get-built-in.js","webpack:///./node_modules/underscore/modules/_cb.js","webpack:///./node_modules/core-js-pure/internals/descriptors.js","webpack:///./node_modules/core-js-pure/internals/an-object.js","webpack:///./node_modules/underscore/modules/restArguments.js","webpack:///./node_modules/underscore/modules/underscore.js","webpack:///./node_modules/underscore/modules/_isArrayLike.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","webpack:///./node_modules/core-js-pure/internals/entry-virtual.js","webpack:///./src/request.js","webpack:///./node_modules/core-js-pure/internals/a-callable.js","webpack:///./node_modules/underscore/modules/isFunction.js","webpack:///./node_modules/underscore/modules/_getLength.js","webpack:///./src/utils/index.js","webpack:///./node_modules/core-js-pure/internals/is-pure.js","webpack:///./node_modules/core-js-pure/internals/to-object.js","webpack:///./node_modules/core-js-pure/internals/object-define-property.js","webpack:///./node_modules/core-js-pure/internals/to-indexed-object.js","webpack:///./node_modules/core-js-pure/internals/length-of-array-like.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/json/stringify.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","webpack:///./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js-pure/internals/to-string.js","webpack:///./node_modules/underscore/modules/_has.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","webpack:///./src/error.js","webpack:///./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack:///./node_modules/core-js-pure/internals/engine-user-agent.js","webpack:///./node_modules/core-js-pure/internals/iterators.js","webpack:///./node_modules/core-js-pure/internals/classof.js","webpack:///./node_modules/core-js-pure/internals/define-built-in.js","webpack:///./node_modules/core-js-pure/internals/new-promise-capability.js","webpack:///./node_modules/underscore/modules/isObject.js","webpack:///./node_modules/underscore/modules/isArray.js","webpack:///./node_modules/underscore/modules/each.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/keys.js","webpack:///./node_modules/core-js-pure/internals/classof-raw.js","webpack:///./node_modules/core-js-pure/internals/native-symbol.js","webpack:///./node_modules/core-js-pure/internals/engine-v8-version.js","webpack:///./node_modules/core-js-pure/internals/try-to-string.js","webpack:///./node_modules/core-js-pure/internals/function-bind-context.js","webpack:///./node_modules/core-js-pure/internals/object-create.js","webpack:///./node_modules/core-js-pure/modules/es.array.iterator.js","webpack:///./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack:///./node_modules/core-js-pure/internals/promise-native-constructor.js","webpack:///./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack:///./node_modules/underscore/modules/values.js","webpack:///./node_modules/underscore/modules/_flatten.js","webpack:///./node_modules/underscore/modules/map.js","webpack:///./src/av.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./src/adapter.js","webpack:///./node_modules/core-js-pure/internals/function-apply.js","webpack:///./node_modules/core-js-pure/internals/function-bind-native.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/internals/require-object-coercible.js","webpack:///./node_modules/core-js-pure/internals/shared.js","webpack:///./node_modules/core-js-pure/internals/iterate.js","webpack:///./node_modules/core-js-pure/internals/perform.js","webpack:///./node_modules/core-js-pure/internals/promise-constructor-detection.js","webpack:///./node_modules/core-js-pure/modules/es.string.iterator.js","webpack:///./node_modules/underscore/modules/_stringTagBug.js","webpack:///./node_modules/underscore/modules/allKeys.js","webpack:///./node_modules/underscore/modules/_toPath.js","webpack:///./node_modules/underscore/modules/_optimizeCb.js","webpack:///./node_modules/underscore/modules/filter.js","webpack:///./node_modules/underscore/modules/contains.js","webpack:///./node_modules/core-js-pure/internals/is-array.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js","webpack:///./node_modules/core-js-pure/internals/to-property-key.js","webpack:///./node_modules/core-js-pure/internals/is-symbol.js","webpack:///./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js-pure/internals/shared-key.js","webpack:///./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js-pure/internals/hidden-keys.js","webpack:///./node_modules/core-js-pure/internals/get-iterator-method.js","webpack:///./node_modules/core-js-pure/internals/internal-state.js","webpack:///./node_modules/core-js-pure/internals/engine-is-node.js","webpack:///./node_modules/core-js-pure/internals/is-constructor.js","webpack:///./node_modules/core-js-pure/internals/array-slice.js","webpack:///./node_modules/underscore/modules/matcher.js","webpack:///./node_modules/underscore/modules/partial.js","webpack:///./node_modules/underscore/modules/_group.js","webpack:///./node_modules/core-js-pure/internals/create-property.js","webpack:///./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js-pure/internals/array-iteration.js","webpack:///./src/utils/ajax.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/find.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js-pure/internals/indexed-object.js","webpack:///./node_modules/core-js-pure/internals/get-method.js","webpack:///./node_modules/core-js-pure/internals/shared-store.js","webpack:///./node_modules/core-js-pure/internals/uid.js","webpack:///./node_modules/core-js-pure/internals/document-create-element.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js-pure/internals/array-includes.js","webpack:///./node_modules/core-js-pure/internals/to-absolute-index.js","webpack:///./node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/internals/object-keys.js","webpack:///./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack:///./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack:///./node_modules/core-js-pure/internals/inspect-source.js","webpack:///./node_modules/underscore/modules/index.js","webpack:///./node_modules/underscore/modules/isString.js","webpack:///./node_modules/underscore/modules/isDataView.js","webpack:///./node_modules/underscore/modules/isArguments.js","webpack:///./node_modules/underscore/modules/_getByteLength.js","webpack:///./node_modules/underscore/modules/_methodFingerprint.js","webpack:///./node_modules/underscore/modules/_createAssigner.js","webpack:///./node_modules/underscore/modules/extendOwn.js","webpack:///./node_modules/underscore/modules/_deepGet.js","webpack:///./node_modules/underscore/modules/identity.js","webpack:///./node_modules/underscore/modules/property.js","webpack:///./node_modules/underscore/modules/now.js","webpack:///./node_modules/underscore/modules/negate.js","webpack:///./node_modules/underscore/modules/findIndex.js","webpack:///./node_modules/underscore/modules/pluck.js","webpack:///./node_modules/core-js-pure/internals/array-method-is-strict.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/typeof.js","webpack:///./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/symbol/iterator.js","webpack:///./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack:///./node_modules/core-js-pure/internals/is-forced.js","webpack:///./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack:///./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js-pure/internals/object-keys-internal.js","webpack:///./node_modules/core-js-pure/internals/object-define-properties.js","webpack:///./node_modules/core-js-pure/internals/html.js","webpack:///./node_modules/core-js-pure/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js-pure/internals/get-iterator.js","webpack:///./node_modules/core-js-pure/internals/iterator-close.js","webpack:///./node_modules/core-js-pure/internals/define-iterator.js","webpack:///./node_modules/core-js-pure/internals/function-name.js","webpack:///./node_modules/core-js-pure/internals/iterators-core.js","webpack:///./node_modules/core-js-pure/internals/species-constructor.js","webpack:///./node_modules/core-js-pure/internals/a-constructor.js","webpack:///./node_modules/core-js-pure/internals/task.js","webpack:///./node_modules/core-js-pure/internals/engine-is-ios.js","webpack:///./node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","webpack:///./node_modules/core-js-pure/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js-pure/internals/promise-resolve.js","webpack:///./node_modules/underscore/modules/isUndefined.js","webpack:///./node_modules/underscore/modules/isBoolean.js","webpack:///./node_modules/underscore/modules/isNumber.js","webpack:///./node_modules/underscore/modules/isSymbol.js","webpack:///./node_modules/underscore/modules/isArrayBuffer.js","webpack:///./node_modules/underscore/modules/isNaN.js","webpack:///./node_modules/underscore/modules/isTypedArray.js","webpack:///./node_modules/underscore/modules/constant.js","webpack:///./node_modules/underscore/modules/_createSizePropertyCheck.js","webpack:///./node_modules/underscore/modules/_shallowProperty.js","webpack:///./node_modules/underscore/modules/_collectNonEnumProps.js","webpack:///./node_modules/underscore/modules/isMatch.js","webpack:///./node_modules/underscore/modules/invert.js","webpack:///./node_modules/underscore/modules/functions.js","webpack:///./node_modules/underscore/modules/extend.js","webpack:///./node_modules/underscore/modules/defaults.js","webpack:///./node_modules/underscore/modules/_baseCreate.js","webpack:///./node_modules/underscore/modules/clone.js","webpack:///./node_modules/underscore/modules/get.js","webpack:///./node_modules/underscore/modules/toPath.js","webpack:///./node_modules/underscore/modules/_baseIteratee.js","webpack:///./node_modules/underscore/modules/iteratee.js","webpack:///./node_modules/underscore/modules/noop.js","webpack:///./node_modules/underscore/modules/random.js","webpack:///./node_modules/underscore/modules/_createEscaper.js","webpack:///./node_modules/underscore/modules/_escapeMap.js","webpack:///./node_modules/underscore/modules/templateSettings.js","webpack:///./node_modules/underscore/modules/_executeBound.js","webpack:///./node_modules/underscore/modules/bind.js","webpack:///./node_modules/underscore/modules/delay.js","webpack:///./node_modules/underscore/modules/before.js","webpack:///./node_modules/underscore/modules/findKey.js","webpack:///./node_modules/underscore/modules/_createPredicateIndexFinder.js","webpack:///./node_modules/underscore/modules/findLastIndex.js","webpack:///./node_modules/underscore/modules/sortedIndex.js","webpack:///./node_modules/underscore/modules/indexOf.js","webpack:///./node_modules/underscore/modules/_createIndexFinder.js","webpack:///./node_modules/underscore/modules/find.js","webpack:///./node_modules/underscore/modules/_createReduce.js","webpack:///./node_modules/underscore/modules/max.js","webpack:///./node_modules/underscore/modules/sample.js","webpack:///./node_modules/underscore/modules/pick.js","webpack:///./node_modules/underscore/modules/initial.js","webpack:///./node_modules/underscore/modules/rest.js","webpack:///./node_modules/underscore/modules/difference.js","webpack:///./node_modules/underscore/modules/uniq.js","webpack:///./node_modules/underscore/modules/unzip.js","webpack:///./node_modules/underscore/modules/_chainResult.js","webpack:///./node_modules/core-js-pure/modules/es.array.concat.js","webpack:///./node_modules/core-js-pure/internals/array-species-create.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","webpack:///./node_modules/core-js-pure/modules/es.json.stringify.js","webpack:///./node_modules/uuid/v4.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-prototype-of.js","webpack:///./node_modules/core-js-pure/stable/object/get-prototype-of.js","webpack:///./src/version.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./src/localstorage.js","webpack:///./src/cache.js","webpack:///./node_modules/core-js-pure/stable/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/stable/instance/slice.js","webpack:///./node_modules/core-js-pure/stable/object/define-property.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/symbol.js","webpack:///./node_modules/core-js-pure/stable/symbol/index.js","webpack:///./node_modules/core-js-pure/internals/array-slice-simple.js","webpack:///./node_modules/core-js-pure/internals/symbol-define-to-primitive.js","webpack:///./node_modules/core-js-pure/internals/native-symbol-registry.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js-pure/stable/symbol/iterator.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","webpack:///./node_modules/core-js-pure/stable/array/from.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","webpack:///./node_modules/core-js-pure/internals/function-bind.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/instance/bind.js","webpack:///./node_modules/charenc/charenc.js","webpack:///./node_modules/core-js-pure/internals/whitespaces.js","webpack:///../src/is-object.js","webpack:///./src/entry/index.js","webpack:///./src/entry/core.js","webpack:///./src/index.js","webpack:///./node_modules/core-js-pure/stable/promise/index.js","webpack:///./node_modules/core-js-pure/es/promise/index.js","webpack:///./node_modules/core-js-pure/modules/es.aggregate-error.js","webpack:///./node_modules/core-js-pure/modules/es.aggregate-error.constructor.js","webpack:///./node_modules/core-js-pure/internals/to-primitive.js","webpack:///./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js-pure/internals/define-global-property.js","webpack:///./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack:///./node_modules/core-js-pure/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js-pure/internals/own-keys.js","webpack:///./node_modules/core-js-pure/internals/math-trunc.js","webpack:///./node_modules/core-js-pure/internals/to-length.js","webpack:///./node_modules/core-js-pure/internals/clear-error-stack.js","webpack:///./node_modules/core-js-pure/internals/install-error-cause.js","webpack:///./node_modules/core-js-pure/internals/normalize-string-argument.js","webpack:///./node_modules/core-js-pure/internals/error-stack-installable.js","webpack:///./node_modules/core-js-pure/internals/native-weak-map.js","webpack:///./node_modules/core-js-pure/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js-pure/internals/object-to-string.js","webpack:///./node_modules/core-js-pure/modules/es.promise.js","webpack:///./node_modules/core-js-pure/modules/es.promise.constructor.js","webpack:///./node_modules/core-js-pure/internals/set-species.js","webpack:///./node_modules/core-js-pure/internals/an-instance.js","webpack:///./node_modules/core-js-pure/internals/validate-arguments-length.js","webpack:///./node_modules/core-js-pure/internals/microtask.js","webpack:///./node_modules/core-js-pure/internals/engine-is-ios-pebble.js","webpack:///./node_modules/core-js-pure/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js-pure/internals/host-report-errors.js","webpack:///./node_modules/core-js-pure/internals/queue.js","webpack:///./node_modules/core-js-pure/internals/engine-is-browser.js","webpack:///./node_modules/core-js-pure/modules/es.promise.all.js","webpack:///./node_modules/core-js-pure/modules/es.promise.catch.js","webpack:///./node_modules/core-js-pure/modules/es.promise.race.js","webpack:///./node_modules/core-js-pure/modules/es.promise.reject.js","webpack:///./node_modules/core-js-pure/modules/es.promise.resolve.js","webpack:///./node_modules/core-js-pure/modules/es.promise.all-settled.js","webpack:///./node_modules/core-js-pure/modules/es.promise.any.js","webpack:///./node_modules/core-js-pure/modules/es.promise.finally.js","webpack:///./node_modules/core-js-pure/internals/string-multibyte.js","webpack:///./node_modules/core-js-pure/internals/dom-iterables.js","webpack:///./node_modules/underscore/modules/index-default.js","webpack:///./node_modules/underscore/modules/isNull.js","webpack:///./node_modules/underscore/modules/isElement.js","webpack:///./node_modules/underscore/modules/isDate.js","webpack:///./node_modules/underscore/modules/isRegExp.js","webpack:///./node_modules/underscore/modules/isError.js","webpack:///./node_modules/underscore/modules/_hasObjectTag.js","webpack:///./node_modules/underscore/modules/isFinite.js","webpack:///./node_modules/underscore/modules/_isBufferLike.js","webpack:///./node_modules/underscore/modules/isEmpty.js","webpack:///./node_modules/underscore/modules/isEqual.js","webpack:///./node_modules/underscore/modules/_toBufferView.js","webpack:///./node_modules/underscore/modules/isMap.js","webpack:///./node_modules/underscore/modules/isWeakMap.js","webpack:///./node_modules/underscore/modules/isSet.js","webpack:///./node_modules/underscore/modules/isWeakSet.js","webpack:///./node_modules/underscore/modules/pairs.js","webpack:///./node_modules/underscore/modules/create.js","webpack:///./node_modules/underscore/modules/tap.js","webpack:///./node_modules/underscore/modules/has.js","webpack:///./node_modules/underscore/modules/mapObject.js","webpack:///./node_modules/underscore/modules/propertyOf.js","webpack:///./node_modules/underscore/modules/times.js","webpack:///./node_modules/underscore/modules/escape.js","webpack:///./node_modules/underscore/modules/unescape.js","webpack:///./node_modules/underscore/modules/_unescapeMap.js","webpack:///./node_modules/underscore/modules/template.js","webpack:///./node_modules/underscore/modules/result.js","webpack:///./node_modules/underscore/modules/uniqueId.js","webpack:///./node_modules/underscore/modules/chain.js","webpack:///./node_modules/underscore/modules/bindAll.js","webpack:///./node_modules/underscore/modules/memoize.js","webpack:///./node_modules/underscore/modules/defer.js","webpack:///./node_modules/underscore/modules/throttle.js","webpack:///./node_modules/underscore/modules/debounce.js","webpack:///./node_modules/underscore/modules/wrap.js","webpack:///./node_modules/underscore/modules/compose.js","webpack:///./node_modules/underscore/modules/after.js","webpack:///./node_modules/underscore/modules/once.js","webpack:///./node_modules/underscore/modules/lastIndexOf.js","webpack:///./node_modules/underscore/modules/findWhere.js","webpack:///./node_modules/underscore/modules/reduce.js","webpack:///./node_modules/underscore/modules/reduceRight.js","webpack:///./node_modules/underscore/modules/reject.js","webpack:///./node_modules/underscore/modules/every.js","webpack:///./node_modules/underscore/modules/some.js","webpack:///./node_modules/underscore/modules/invoke.js","webpack:///./node_modules/underscore/modules/where.js","webpack:///./node_modules/underscore/modules/min.js","webpack:///./node_modules/underscore/modules/shuffle.js","webpack:///./node_modules/underscore/modules/sortBy.js","webpack:///./node_modules/underscore/modules/groupBy.js","webpack:///./node_modules/underscore/modules/indexBy.js","webpack:///./node_modules/underscore/modules/countBy.js","webpack:///./node_modules/underscore/modules/partition.js","webpack:///./node_modules/underscore/modules/toArray.js","webpack:///./node_modules/underscore/modules/size.js","webpack:///./node_modules/underscore/modules/_keyInObj.js","webpack:///./node_modules/underscore/modules/omit.js","webpack:///./node_modules/underscore/modules/first.js","webpack:///./node_modules/underscore/modules/last.js","webpack:///./node_modules/underscore/modules/compact.js","webpack:///./node_modules/underscore/modules/flatten.js","webpack:///./node_modules/underscore/modules/without.js","webpack:///./node_modules/underscore/modules/union.js","webpack:///./node_modules/underscore/modules/intersection.js","webpack:///./node_modules/underscore/modules/zip.js","webpack:///./node_modules/underscore/modules/object.js","webpack:///./node_modules/underscore/modules/range.js","webpack:///./node_modules/underscore/modules/chunk.js","webpack:///./node_modules/underscore/modules/mixin.js","webpack:///./node_modules/underscore/modules/underscore-array-methods.js","webpack:///./node_modules/core-js-pure/stable/instance/concat.js","webpack:///./node_modules/core-js-pure/es/instance/concat.js","webpack:///./node_modules/core-js-pure/es/array/virtual/concat.js","webpack:///./node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","webpack:///./node_modules/core-js-pure/internals/array-species-constructor.js","webpack:///./node_modules/core-js-pure/stable/instance/map.js","webpack:///./node_modules/core-js-pure/es/instance/map.js","webpack:///./node_modules/core-js-pure/es/array/virtual/map.js","webpack:///./node_modules/core-js-pure/modules/es.array.map.js","webpack:///./node_modules/core-js-pure/stable/object/keys.js","webpack:///./node_modules/core-js-pure/es/object/keys.js","webpack:///./node_modules/core-js-pure/modules/es.object.keys.js","webpack:///./node_modules/core-js-pure/stable/json/stringify.js","webpack:///./node_modules/core-js-pure/es/json/stringify.js","webpack:///./node_modules/core-js-pure/stable/instance/index-of.js","webpack:///./node_modules/core-js-pure/es/instance/index-of.js","webpack:///./node_modules/core-js-pure/es/array/virtual/index-of.js","webpack:///./node_modules/core-js-pure/modules/es.array.index-of.js","webpack:///./node_modules/core-js-pure/stable/instance/keys.js","webpack:///./node_modules/core-js-pure/stable/array/virtual/keys.js","webpack:///./node_modules/core-js-pure/es/array/virtual/keys.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/debug/src/common.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/core-js-pure/es/object/get-prototype-of.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-prototype-of.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/es/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/modules/es.object.set-prototype-of.js","webpack:///./src/init.js","webpack:///./node_modules/core-js-pure/es/instance/slice.js","webpack:///./node_modules/core-js-pure/es/array/virtual/slice.js","webpack:///./node_modules/core-js-pure/modules/es.array.slice.js","webpack:///./node_modules/core-js-pure/es/object/define-property.js","webpack:///./node_modules/core-js-pure/modules/es.object.define-property.js","webpack:///./src/app-router.js","webpack:///./node_modules/core-js-pure/features/symbol/index.js","webpack:///./node_modules/core-js-pure/full/symbol/index.js","webpack:///./node_modules/core-js-pure/actual/symbol/index.js","webpack:///./node_modules/core-js-pure/es/symbol/index.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.constructor.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.for.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.key-for.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.match.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.replace.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.search.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.species.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.split.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack:///./node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.matcher.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.metadata.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js","webpack:///./node_modules/core-js-pure/features/symbol/iterator.js","webpack:///./node_modules/core-js-pure/full/symbol/iterator.js","webpack:///./node_modules/core-js-pure/actual/symbol/iterator.js","webpack:///./node_modules/core-js-pure/es/symbol/iterator.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","webpack:///./node_modules/core-js-pure/stable/instance/filter.js","webpack:///./node_modules/core-js-pure/es/instance/filter.js","webpack:///./node_modules/core-js-pure/es/array/virtual/filter.js","webpack:///./node_modules/core-js-pure/modules/es.array.filter.js","webpack:///./node_modules/promise-timeout/index.js","webpack:///./src/event.js","webpack:///./src/geopoint.js","webpack:///./src/acl.js","webpack:///./src/op.js","webpack:///./node_modules/core-js-pure/stable/instance/find.js","webpack:///./node_modules/core-js-pure/es/instance/find.js","webpack:///./node_modules/core-js-pure/es/array/virtual/find.js","webpack:///./node_modules/core-js-pure/modules/es.array.find.js","webpack:///./src/relation.js","webpack:///./src/file.js","webpack:///./src/uploader/cos.js","webpack:///./src/uploader/qiniu.js","webpack:///./node_modules/core-js-pure/es/array/from.js","webpack:///./node_modules/core-js-pure/modules/es.array.from.js","webpack:///./node_modules/core-js-pure/internals/array-from.js","webpack:///./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js-pure/features/get-iterator-method.js","webpack:///./node_modules/core-js-pure/full/get-iterator-method.js","webpack:///./node_modules/core-js-pure/actual/get-iterator-method.js","webpack:///./node_modules/core-js-pure/stable/get-iterator-method.js","webpack:///./node_modules/core-js-pure/es/get-iterator-method.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/construct.js","webpack:///./node_modules/core-js-pure/stable/reflect/construct.js","webpack:///./node_modules/core-js-pure/es/reflect/construct.js","webpack:///./node_modules/core-js-pure/modules/es.reflect.construct.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/inherits.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/create.js","webpack:///./node_modules/core-js-pure/features/object/create.js","webpack:///./node_modules/core-js-pure/full/object/create.js","webpack:///./node_modules/core-js-pure/actual/object/create.js","webpack:///./node_modules/core-js-pure/stable/object/create.js","webpack:///./node_modules/core-js-pure/es/object/create.js","webpack:///./node_modules/core-js-pure/modules/es.object.create.js","webpack:///./node_modules/core-js-pure/features/object/define-property.js","webpack:///./node_modules/core-js-pure/full/object/define-property.js","webpack:///./node_modules/core-js-pure/actual/object/define-property.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/setPrototypeOf.js","webpack:///./node_modules/core-js-pure/features/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/full/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/actual/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/features/instance/bind.js","webpack:///./node_modules/core-js-pure/full/instance/bind.js","webpack:///./node_modules/core-js-pure/actual/instance/bind.js","webpack:///./node_modules/core-js-pure/stable/instance/bind.js","webpack:///./node_modules/core-js-pure/es/instance/bind.js","webpack:///./node_modules/core-js-pure/es/function/virtual/bind.js","webpack:///./node_modules/core-js-pure/modules/es.function.bind.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js","webpack:///./node_modules/core-js-pure/features/object/get-prototype-of.js","webpack:///./node_modules/core-js-pure/full/object/get-prototype-of.js","webpack:///./node_modules/core-js-pure/actual/object/get-prototype-of.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/createClass.js","webpack:///./src/utils/btoa.js","webpack:///./src/uploader/s3.js","webpack:///./node_modules/md5/md5.js","webpack:///./node_modules/crypt/crypt.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./src/utils/parse-base64-browser.js","webpack:///./src/object.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","webpack:///./node_modules/core-js-pure/features/array/is-array.js","webpack:///./node_modules/core-js-pure/full/array/is-array.js","webpack:///./node_modules/core-js-pure/actual/array/is-array.js","webpack:///./node_modules/core-js-pure/stable/array/is-array.js","webpack:///./node_modules/core-js-pure/es/array/is-array.js","webpack:///./node_modules/core-js-pure/modules/es.array.is-array.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","webpack:///./node_modules/core-js-pure/features/instance/slice.js","webpack:///./node_modules/core-js-pure/full/instance/slice.js","webpack:///./node_modules/core-js-pure/actual/instance/slice.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/array/from.js","webpack:///./node_modules/core-js-pure/features/array/from.js","webpack:///./node_modules/core-js-pure/full/array/from.js","webpack:///./node_modules/core-js-pure/actual/array/from.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/es/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","webpack:///./src/role.js","webpack:///./src/user.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/defineProperty.js","webpack:///./src/query.js","webpack:///./src/live-query.js","webpack:///./src/captcha.js","webpack:///./src/cloudfunction.js","webpack:///./src/push.js","webpack:///./src/status.js","webpack:///./src/search.js","webpack:///./src/insight.js","webpack:///./src/friendship.js","webpack:///./src/conversation.js","webpack:///./src/leaderboard.js","webpack:///./src/entry/use-adapters.js","webpack:///../src/index.ts","webpack:///./node_modules/@leancloud/adapters-superagent/lib/index.js","webpack:///./node_modules/@leancloud/adapter-utils/lib/index.es.js","webpack:///../src/client.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js","webpack:///./node_modules/core-js-pure/stable/instance/trim.js","webpack:///./node_modules/core-js-pure/es/instance/trim.js","webpack:///./node_modules/core-js-pure/es/string/virtual/trim.js","webpack:///./node_modules/core-js-pure/modules/es.string.trim.js","webpack:///./node_modules/core-js-pure/internals/string-trim.js","webpack:///./node_modules/core-js-pure/internals/string-trim-forced.js","webpack:///./node_modules/component-emitter/index.js","webpack:///./node_modules/fast-safe-stringify/index.js","webpack:///../src/request-base.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","webpack:///./node_modules/core-js-pure/stable/instance/includes.js","webpack:///./node_modules/core-js-pure/es/instance/includes.js","webpack:///./node_modules/core-js-pure/es/array/virtual/includes.js","webpack:///./node_modules/core-js-pure/modules/es.array.includes.js","webpack:///./node_modules/core-js-pure/es/string/virtual/includes.js","webpack:///./node_modules/core-js-pure/modules/es.string.includes.js","webpack:///./node_modules/core-js-pure/internals/not-a-regexp.js","webpack:///./node_modules/core-js-pure/internals/is-regexp.js","webpack:///./node_modules/core-js-pure/internals/correct-is-regexp-logic.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/sort.js","webpack:///./node_modules/core-js-pure/stable/instance/sort.js","webpack:///./node_modules/core-js-pure/es/instance/sort.js","webpack:///./node_modules/core-js-pure/es/array/virtual/sort.js","webpack:///./node_modules/core-js-pure/modules/es.array.sort.js","webpack:///./node_modules/core-js-pure/internals/delete-property-or-throw.js","webpack:///./node_modules/core-js-pure/internals/array-sort.js","webpack:///./node_modules/core-js-pure/internals/engine-ff-version.js","webpack:///./node_modules/core-js-pure/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/core-js-pure/internals/engine-webkit-version.js","webpack:///../src/response-base.js","webpack:///../src/utils.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js","webpack:///./node_modules/core-js-pure/stable/instance/reduce.js","webpack:///./node_modules/core-js-pure/es/instance/reduce.js","webpack:///./node_modules/core-js-pure/es/array/virtual/reduce.js","webpack:///./node_modules/core-js-pure/modules/es.array.reduce.js","webpack:///./node_modules/core-js-pure/internals/array-reduce.js","webpack:///../src/agent-base.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/is-iterable.js","webpack:///./node_modules/core-js-pure/features/is-iterable.js","webpack:///./node_modules/core-js-pure/full/is-iterable.js","webpack:///./node_modules/core-js-pure/actual/is-iterable.js","webpack:///./node_modules/core-js-pure/stable/is-iterable.js","webpack:///./node_modules/core-js-pure/es/is-iterable.js","webpack:///./node_modules/core-js-pure/internals/is-iterable.js"],"names":["root","factory","exports","module","define","amd","self","this","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","global","apply","uncurryThis","isCallable","getOwnPropertyDescriptor","f","isForced","path","bind","createNonEnumerableProperty","hasOwn","wrapConstructor","NativeConstructor","Wrapper","a","b","arguments","length","options","source","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","key","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","target","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","forced","dontCallGetSet","value","wrap","sham","real","_interopRequireDefault","obj","__webpack_exports__","exec","error","NATIVE_BIND","FunctionPrototype","Function","fn","shared","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","symbolFor","createWellKnownSymbol","withoutSetter","description","VERSION","ArrayProto","Array","ObjProto","SymbolProto","push","slice","toString","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","isArray","nativeKeys","keys","nativeCreate","create","nativeIsView","isView","_isNaN","isNaN","_isFinite","isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","Math","pow","wrappedWellKnownSymbolModule","NAME","argument","it","check","globalThis","window","isPrototypeOf","toObject","tagTester","tag","aFunction","variable","undefined","namespace","method","cb","context","argCount","iteratee","fails","isObject","$String","String","$TypeError","TypeError","restArguments","func","startIndex","max","rest","index","args","_","_wrapped","valueOf","toJSON","CONSTRUCTOR","_concat","_promise","require","md5","extend","AV","AVError","getSessionToken","ajax","sign","isMasterKey","now","Date","getTime","signature","setAppKey","headers","signKey","applicationKey","setHeaders","authOptions","applicationId","useMasterKey","_config","masterKey","console","warn","hookKey","production","_sharedConfig","userAgent","resolve","then","sessionToken","disableCurrentUser","User","currentAsync","currentUser","_sessionToken","createApiUrl","service","version","apiURL","serverURLs","Error","charAt","request","query","data","_appRouter","refresh","timeout","requestTimeout","url","catch","errorJSON","code","message","responseText","response","JSON","parse","e","rawMessage","keepErrorRawMessage","statusCode","err","_request","route","className","objectId","_fetchWhenSave","_where","toLowerCase","tryToString","isFunction","nodelist","document","childNodes","Int8Array","_keys","_getPrototypeOf","isNullOrUndefined","x","isNull","isUndefined","ensureArray","transformFetchOptions","include","includeACL","fetchOptions","join","returnACL","user","tap","interceptor","EmptyConstructor","inherits","parent","protoProps","staticProps","child","constructor","__super__","parseDate","iso8601","setValue","segs","split","lastSeg","pop","currentTarget","forEach","seg","findValue","firstSeg","isPlainObject","continueWhile","predicate","asyncFunction","requireObjectCoercible","$Object","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","O","P","Attributes","current","writable","IndexedObject","toLength","definePropertyModule","createPropertyDescriptor","classof","has","_setPrototypeOf","OTHER_CAUSE","INTERNAL_SERVER_ERROR","CONNECTION_FAILED","OBJECT_NOT_FOUND","INVALID_QUERY","INVALID_CLASS_NAME","MISSING_OBJECT_ID","INVALID_KEY_NAME","INVALID_POINTER","INVALID_JSON","COMMAND_UNAVAILABLE","NOT_INITIALIZED","INCORRECT_TYPE","INVALID_CHANNEL_NAME","PUSH_MISCONFIGURED","OBJECT_TOO_LARGE","OPERATION_FORBIDDEN","CACHE_MISS","INVALID_NESTED_KEY","INVALID_FILE_NAME","INVALID_ACL","TIMEOUT","INVALID_EMAIL_ADDRESS","MISSING_CONTENT_TYPE","MISSING_CONTENT_LENGTH","INVALID_CONTENT_LENGTH","FILE_TOO_LARGE","FILE_SAVE_ERROR","FILE_DELETE_ERROR","DUPLICATE_VALUE","INVALID_ROLE_NAME","EXCEEDED_QUOTA","SCRIPT_FAILED","VALIDATION_ERROR","INVALID_IMAGE_DATA","UNSAVED_FILE_ERROR","INVALID_PUSH_TIME_ERROR","USERNAME_MISSING","PASSWORD_MISSING","USERNAME_TAKEN","EMAIL_TAKEN","EMAIL_MISSING","EMAIL_NOT_FOUND","SESSION_MISSING","MUST_CREATE_USER_THROUGH_SIGNUP","ACCOUNT_ALREADY_LINKED","LINKED_ID_MISSING","INVALID_LINKED_SESSION","UNSUPPORTED_SERVICE","X_DOMAIN_REQUEST","bitmap","getBuiltIn","TO_STRING_TAG_SUPPORT","classofRaw","wellKnownSymbol","TO_STRING_TAG","CORRECT_ARGUMENTS","tryGet","result","callee","aCallable","PromiseCapability","C","reject","promise","$$resolve","$$reject","type","each","stringSlice","V8_VERSION","getOwnPropertySymbols","symbol","match","process","Deno","versions","v8","that","activeXDocument","definePropertiesModule","enumBugKeys","hiddenKeys","html","documentCreateElement","sharedKey","IE_PROTO","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","F","NullProtoObject","ActiveXObject","domain","Properties","toIndexedObject","addToUnscopables","Iterators","InternalStateModule","defineIterator","IS_PURE","setInternalState","set","getInternalState","getterFor","iterated","kind","state","done","values","Arguments","TAG","SET_METHOD","Promise","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","flatten","input","depth","strict","output","concat","Infinity","idx","j","len","map","results","currentKey","_map","_stringify","_indexOf","_keys2","uuid","debug","setAdapters","adapterManager","realtime","initialUserAgent","liveQueryRealtime","on","platformInfo","ua","comments","extra","_getAVPath","isString","substring","_installationId","_getInstallationId","localStorage","getItemAsync","setItemAsync","_subscriptionId","_refreshSubscriptionId","subscriptionId","_getSubscriptionId","_parseDate","_extend","classProps","_encode","seenObjects","disallowObjects","full","_hasData","_toFullJSON","_toPointer","ACL","isDate","__type","iso","GeoPoint","isRegExp","Relation","Op","File","id","mapObject","v","k","_decode","__op","pointer","_create","clone","_finishFetch","latitude","longitude","relation","targetClassName","file","parseJSON","text","stringify","_encodeObjectOrArray","encodeAVObject","_arrayEach","_traverse","seen","attributes","newChild","_each","_objectEach","callback","enable","namespaces","disable","_typeof","iterator","useColors","__nwjs","navigator","documentElement","WebkitAppearance","firebug","exception","table","parseInt","RegExp","$1","formatArgs","humanize","diff","color","splice","lastC","replace","log","_console","save","storage","setItem","removeItem","load","r","getItem","env","DEBUG","colors","formatters","EventEmitter","AdapterManager","_adapters","getAdapter","adapter","newAdapters","emit","Reflect","test","propertyIsEnumerableModule","store","mode","copyright","license","isArrayIteratorMethod","lengthOfArrayLike","getIterator","getIteratorMethod","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","next","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","NativePromiseConstructor","inspectSource","IS_BROWSER","NativePromisePrototype","SPECIES","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","REJECTION_EVENT","string","point","hasStringTagBug","isIE11","Map","allKeys","toPath","optimizeCb","collection","accumulator","filter","list","contains","item","fromIndex","guard","toPrimitive","isSymbol","$Symbol","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","getPrototypeOf","aPossiblePrototype","setPrototypeOf","setter","CORRECT_SETTER","__proto__","getMethod","ITERATOR","NATIVE_WEAK_MAP","WeakMap","enforce","TYPE","wmget","wmhas","wmset","metadata","facade","STATE","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","matcher","attrs","partial","boundArgs","placeholder","bound","position","group","behavior","partition","propertyKey","METHOD_NAME","array","foo","Boolean","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","some","every","find","findIndex","filterReject","_typeof2","_filter","debugRequest","debugRequestError","requestsCount","time","onprogress","queryString","encodeURIComponent","qs","count","status","header","ok","enabled","g","eval","V","defineGlobalProperty","postfix","random","EXISTS","createElement","internalObjectKeys","getOwnPropertyNames","toAbsoluteIndex","IS_INCLUDES","el","includes","indexOf","toIntegerOrInfinity","min","integer","trunc","number","functionToString","ie10IsDataView","getInt8","buffer","isDataView","isArguments","ie11fingerprint","methods","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","setMethods","createAssigner","keysFunc","defaults","deepGet","identity","negate","pluck","_Symbol","_Symbol$iterator","$propertyIsEnumerable","NASHORN_BUG","1","replacement","feature","detection","normalize","POLYFILL","NATIVE","names","objectKeys","defineProperties","props","ArrayPrototype","usingIterator","iteratorMethod","innerResult","innerError","$","FunctionName","createIteratorConstructor","setToStringTag","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","getDescriptor","PrototypeOfArrayIteratorPrototype","arrayIterator","aConstructor","defaultConstructor","S","isConstructor","location","defer","channel","port","arraySlice","validateArgumentsLength","IS_IOS","IS_NODE","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","run","runner","listener","event","post","postMessage","protocol","host","handler","nextTick","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","checkCorrectnessOfIteration","all","SAFE_CLOSING","iteratorWithReturn","from","SKIP_CLOSING","ITERATION_SUPPORT","newPromiseCapability","promiseCapability","isBoolean","isTypedArray","typedArrayPattern","constant","createSizePropertyCheck","getSizeProperty","sizeProperty","shallowProperty","emulatedSet","hash","collectNonEnumProps","nonEnumIdx","prop","isMatch","invert","functions","sort","ctor","baseCreate","Ctor","defaultValue","baseIteratee","floor","createEscaper","escaper","testRegexp","replaceRegexp","templateSettings","evaluate","interpolate","escape","executeBound","sourceFunc","boundFunc","callingContext","callArgs","wait","before","times","memo","findKey","createPredicateIndexFinder","dir","sortedIndex","low","high","mid","createIndexFinder","predicateFind","keyFinder","createReduce","reducer","initial","computed","lastComputed","sample","last","rand","uniq","isSorted","unzip","chainResult","instance","_chain","chain","doesNotExceedSafeInteger","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","arity","arg","E","A","arraySpeciesConstructor","originalArray","$stringify","charCodeAt","numberToString","tester","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","replacer","$replacer","fixIllFormed","offset","prev","space","v4","buf","rnds","rng","ii","bytesToUuid","Events","EE","once","_events","_eventsCount","prefix","eventNames","events","listeners","exists","evt","available","ee","a1","a2","a3","a4","a5","removeListener","removeAllListeners","off","addListener","setMaxListeners","prefixed","syncApiNames","async","apiName","removeAsync","removeItemAsync","getCacheData","cacheData","expiredAt","getAsync","cache","setAsync","ttl","$Array","start","end","fin","SymbolPrototype","TO_PRIMITIVE","hint","keyFor","$Function","factories","argsLength","Prototype","partArgs","charenc","utf8","stringToBytes","str","bin","unescape","bytesToString","bytes","decodeURIComponent","fromCharCode","_symbol","default","_iterator","useAdatpers","Cache","Conversation","copyConstructorProperties","clearErrorStack","installErrorCause","iterate","normalizeStringArgument","ERROR_STACK_INSTALLABLE","$Error","$AggregateError","errors","isInstance","AggregateErrorPrototype","stack","errorsArray","AggregateError","ordinaryToPrimitive","pref","exoticToPrim","val","ownKeys","getOwnPropertyDescriptorModule","exceptions","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ceil","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","cause","$default","ENUMERABLE_NEXT","Internal","OwnPromiseCapability","nativeThen","setSpecies","anInstance","speciesConstructor","task","microtask","hostReportErrors","perform","Queue","PromiseConstructorDetection","newPromiseCapabilityModule","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","isThenable","callReaction","reaction","exited","fail","rejection","onHandleUnhandled","enter","exit","notify","isReject","notified","reactions","onUnhandled","reason","initEvent","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","add","PromiseWrapper","unsafe","CONSTRUCTOR_NAME","Constructor","passed","required","flush","head","toggle","node","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","Pebble","tail","entry","capability","$promiseResolve","remaining","alreadyCalled","race","promiseResolve","PromiseConstructorWrapper","CHECK_WRAPPER","allSettled","any","alreadyResolved","alreadyRejected","onFinally","CONVERT_TO_STRING","pos","first","second","size","codeAt","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","isElement","nodeType","parseFloat","isEmpty","eq","aStack","bStack","deepEq","tagDataView","areArrays","byteOffset","aCtor","bCtor","isEqual","toBufferView","bufferSource","Uint8Array","pairs","propertyOf","accum","escapeChar","escapes","template","settings","oldSettings","noMatch","escapeRegExp","bareIdentifier","render","fallback","uniqueId","idCounter","memoize","hasher","address","throttle","previous","later","leading","throttled","_now","clearTimeout","trailing","cancel","debounce","immediate","debounced","_args","compose","after","findWhere","contextPath","where","shuffle","sortBy","criteria","left","right","pass","toArray","reStrSymbol","keyInObj","compact","otherArrays","arrays","intersection","range","chunk","mixin","own","entryVirtual","$map","$IndexOf","arrayMethodIsStrict","un$IndexOf","NEGATIVE_ZERO","STRICT_METHOD","searchElement","getRandomValues","crypto","msCrypto","rnds8","bth","byteToHex","substr","setup","selectColor","createDebug","abs","_len","_key","curr","Number","ms","prevTime","coerce","unshift","format","formatter","destroy","init","instances","delimiter","skips","y","w","h","fmtShort","msAbs","round","fmtLong","plural","isPlural","long","nativeGetPrototypeOf","getDefaultServerURLs","appId","isCNApp","stats","engine","api","rtm","_slice","_defineProperty","AppRouter","fillServerURLs","_disableAppRouter","_initialized","appKey","serverURL","setProduction","disableAppRouter","_setServerURLs","server","RTMRouter","urls","setServerURL","setServerURLs","setRequestTimeout","initialize","un$Slice","HAS_SPECIES_SUPPORT","desc","lockedUntil","disabled","lock","servers","push_server","stats_server","engine_server","api_server","$toString","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","defineSymbolToPrimitive","$forEach","HIDDEN","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","properties","$getOwnPropertySymbols","$create","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","useSetter","useSimple","windowNames","getWindowNames","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","WrappedWellKnownSymbolModule","$filter","TimeoutError","timeoutMillis","eventSplitter","calls","_callbacks","shift","ctx","trigger","unbind","arg1","arg2","_validate","isNumber","__defineGetter__","__defineSetter__","_latitude","_longitude","geolocation","getCurrentPosition","coords","radiansTo","d2r","PI","lat1rad","long1rad","lat2rad","long2rad","deltaLat","deltaLong","sinDeltaLatDiv2","sin","sinDeltaLongDiv2","cos","asin","sqrt","kilometersTo","milesTo","permissionsById","setReadAccess","setWriteAccess","accessList","userId","allowed","permission","_setAccess","accessType","Role","getName","permissions","_getAccess","getReadAccess","getWriteAccess","setPublicReadAccess","getPublicReadAccess","setPublicWriteAccess","getPublicWriteAccess","getRoleReadAccess","role","getRoleWriteAccess","setRoleReadAccess","setRoleWriteAccess","_find","_initialize","_opDecoderMap","_registerDecoder","opName","decoder","json","op","ops","nextOp","_mergeWithPrevious","Set","_value","_estimate","oldValue","_UNSET","Unset","Increment","amount","_amount","BitAnd","BitOr","BitXor","Add","objects","_objects","AddUnique","newValue","matchingObj","anObj","Remove","union","difference","other","adds","removes","_targetClassName","pointerToId","relationsToAdd","relationsToRemove","added","removed","idToPointer","pointers","newAdd","newRemove","newRelation","$find","SKIPS_HOLES","reverseQuery","parentClass","relationKey","Query","equalTo","_ensureParentAndKey","change","remove","targetClass","_getSubclass","_defaultParams","redirectClassNameForKey","_addCondition","qiniu","s3","AVRequest","parseBase64","extname","b64Digit","encodeBase64","chunks","b1","b2","b3","has2","has3","mimeType","metaData","base64","_extName","_data","_uploadHeaders","blob","uri","Blob","owner","withURL","__source","createWithoutData","censor","res","censorResult","_operations","toFullJSON","holder","getACL","_acl","setACL","acl","attrName","setUploadHeader","attr","thumbnailURL","width","height","quality","scaleToFit","fmt","ownerId","_fileToken","extName","keep_file_name","keepFileName","mime_type","_previousSave","uploadInfo","_token","token","_options","direction","provider","_callback","success","fetch","bucket","saveOptions","upload_url","fileFormData","field","_bucket","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf2","NewTarget","_Reflect$construct","_possibleConstructorReturn2","Proxy","_createForOfIteratorHelper","allowArrayLike","_getIteratorMethod","_unsupportedIterableToArray","_e","normalCompletion","didErr","_e2","return","minLen","_context8","_arrayLikeToArray","_sliceInstanceProperty2","_Array$from","arr","arr2","upload","uptoken","urlSafeBase64","btoa","ch","isBlob","_inherits2","_classCallCheck2","_createClass2","CHUNK_SIZE","ShardUploader","uploadedChunks","uploadURL","baseURL","upToken","uploaded","onProgress","loaded","total","percent","Authorization","uploadId","partNumber","etag","parts","getUploadId","uploadPart","getChunk","part","stopUpload","fname","BlobUploader","_ShardUploader","_super","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","ENTRIES","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","_inherits","subClass","superClass","_Object$create","_Object$defineProperty","D","_context","_Object$setPrototypeOf","_bindInstanceProperty","_possibleConstructorReturn","assertThisInitialized","_assertThisInitialized","ReferenceError","_Object$getPrototypeOf","_classCallCheck","_defineProperties","_createClass","b64","crypt","isBuffer","encoding","bytesToWords","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","endian","t","_blocksize","_digestsize","digestbytes","wordsToBytes","asBytes","asString","bytesToHex","base64map","rotl","rotr","randomBytes","words","hex","hexToBytes","bytesToBase64","triplet","base64ToBytes","imod4","isSlowBuffer","readFloatLE","_isBuffer","dataURItoBlob","dataURI","byteString","atob","ia","getValue","_slicedToArray2","_getOwnPropertyDescriptor","recursiveToPointer","RESERVED_KEYS","checkReservedKey","handleBatchResults","firstError","_mergeMagicFields","_serverData","_opSetQueue","_flags","_hashedJSON","_escapedAttributes","cid","changed","_silent","_pending","silent","_previousAttributes","saveAll","_deepSaveAsync","fetchAll","requests","dirty","fetchedAttrs","_cleanupUnsetKeys","fetchWhenSave","getObjectId","getCreatedAt","createdAt","getUpdatedAt","updatedAt","newSeenObjects","_refreshCache","_refreshingCache","_resetCacheForKey","currentChanges","dirtyKeys","escaped","model","specialFields","_startSave","_cancelSave","failedChanges","nextChanges","op1","op2","_saving","_finishSave","serverData","fetchedObjects","savedChanges","_applyOpSet","fetched","_rebuildAllEstimatedData","opSetQueue","hasData","opSet","actualTarget","actualKey","wasSet","_rebuildEstimatedDataForKey","firstKey","previousAttributes","unset","unused_value","dataToValidate","changes","isRealChange","increment","addUnique","bitAnd","bitOr","bitXor","keysToClear","revert","lastOp","_getSaveJSON","_canBeSerialized","_canBeSerializedAsValue","fetchedKeys","arg3","setOptions","unsavedChildren","unsavedFiles","_findUnsavedChildren","_allPreviousSaves","_failOnNotExist","failOnNotExist","queryParams","_getParams","makeRequest","_makeRequest","requestPromise","resp","serverAttrs","triggerDestroy","isNew","changing","_changing","deleteChanged","isValid","validate","disableBeforeHook","ignoreHook","disableAfterHook","hookName","__ignore_hooks","klass","_klass","destroyAll","objectsByClassNameAndFlags","groupBy","flags","body","ids","ObjectClass","_classMap","NewClassObject","OldClassObject","_className","arg0","newArguments","_LCClassName","register","children","files","canBeSerializedAsValue","batch","newRemaining","readyToStart","bathSavePromise","params","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_arrayWithHoles","_Array$isArray","_iterableToArrayLimit","_i","_s","_arr","_n","_d","arrayLikeToArray","_sliceInstanceProperty","_nonIterableRest","FAILS_ON_PRIMITIVES","setName","getUsers","getRoles","newName","_defineProperty2","mergeUnionDataIntoAuthData","defaultUnionIdPlatform","authData","unionId","unionIdPlatform","asMainAccount","platform","unionid","main_account","_isCurrentUser","_cleanupAuthData","isCurrent","_synchronizeAllAuthData","_synchronizeAuthData","authType","_authProviders","getAuthType","restoreAuthentication","dissociateAuthData","_handleSaveResult","makeCurrent","password","_saveCurrentUser","_linkWith","authenticate","associateWithAuthData","associateWithAuthDataAndUnionId","unionOptions","associateWithMiniApp","authInfo","option","associateWithQQApp","preferUnionId","associateWithWeapp","linkWithWeapp","associateWithQQAppWithUnionId","mergeUnionId","associateWithWeappWithUnionId","_unlinkFrom","_isLinked","isAnonymous","logOut","_logOutWithAll","_logOutWith","deauthenticate","signUp","username","signUpOrlogInWithMobilePhone","mobilePhoneNumber","smsCode","loginWithAuthData","loginWithAuthDataAndUnionId","unionLoginOptions","loginWithWeapp","loginWithMiniApp","loginWithWeappWithUnionId","loginWithQQApp","loginWithQQAppWithUnionId","logIn","follow","userObjectId","unfollow","getFollowersAndFollowees","skip","limit","followers","followees","follower","followee","followerQuery","followeeQuery","updatePassword","oldPassword","newPassword","old_password","new_password","getUsername","getMobilePhoneNumber","setMobilePhoneNumber","phone","setUsername","setPassword","getEmail","setEmail","email","authenticated","isAuthenticated","_fetchUserBySessionToken","refreshSessionToken","_currentUser","_currentUserMatchesDisk","_CURRENT_USER_KEY","become","logInWithMobilePhoneSmsCode","mobilePhone","logInWithMobilePhone","loginWithEmail","_logInWith","signUpOrlogInWithAuthData","signUpOrlogInWithAuthDataAndUnionId","_genId","loginAnonymously","userObj","FriendShipQuery","_friendshipTag","requestPasswordReset","requestEmailVerify","requestMobilePhoneVerify","validateToken","validate_token","requestPasswordResetBySmsCode","requestChangePhoneNumber","changePhoneNumber","resetPasswordBySmsCode","verifyMobilePhone","requestLoginSmsCode","userData","_id","_registerAuthenticationProvider","requires","objectClass","_include","_select","_limit","_skip","or","queries","q","_orQuery","and","_andQuery","doCloudQuery","cql","pvalues","_newObject","_processResult","fromJSON","select","order","_includeACL","_order","queryJSON","_createRequest","_parseResponse","findAndCount","scan","orderedBy","batchSize","scan_key","cursor","remainResults","sizeEqualTo","notEqualTo","lessThan","greaterThan","lessThanOrEqualTo","greaterThanOrEqualTo","containedIn","notContainedIn","containsAll","doesNotExist","matches","regex","modifiers","ignoreCase","multiline","matchesQuery","doesNotMatchQuery","matchesKeyInQuery","queryKey","doesNotMatchKeyInQuery","$or","$and","_quote","startsWith","endsWith","ascending","addAscending","descending","addDescending","near","withinRadians","distance","withinMiles","withinKilometers","withinGeoBox","southwest","northeast","$box","finished","callbacksDone","subscribe","LiveQuery","requireRealtime","client","_client","_queryJSON","_onMessage","_dispatch","_onReconnect","queryId","query_id","updatedKeys","unsubscribe","deregister","userDefinedSubscriptionId","createLiveQueryClient","liveQueryClient","finally","pause","resume","Captcha","_authOptions","captchaToken","Cloud","_requestCaptcha","verify","verifyCaptcha","textInput","image","verifyButton","getElementById","__refresh","focus","__image","__verify","__verifyButton","removeEventListener","captcha","rpc","getServerDate","requestSmsCode","verifySmsCode","captcha_url","captcha_token","requestCaptcha","captcha_code","Installation","Push","send","push_time","expiration_time","expiration_interval","getUser","getUserPointer","currUser","Status","imageUrl","inboxType","_getDataJSON","sendStatusToFollowers","messageId","sendPrivateStatus","countUnreadStatuses","resetUnreadCount","statusQuery","InboxQuery","_objectClass","_sinceId","_maxId","_inboxType","_owner","sinceId","maxId","inboxQuery","SearchSortBuilder","_sortFields","_addField","missing","whereNear","geo","lat","lon","unit","build","SearchQuery","_sid","_hits","_queryString","_highlights","_sortBuilder","_clazz","sid","highlights","builder","hits","hasMore","_hitEnd","reset","_oldSid","appURL","clazz","Insight","startJob","jobConfig","sql","JobQuery","LCRequest","getUserWithSessionToken","getSessionTokenAsync","Friendship","friend","friendObj","friendship","acceptRequest","requestId","declineRequest","serializeMessage","getPayload","isSystem","isTransient","getCreator","getLastMessageAt","getMembers","addMember","member","getMutedMembers","fromClient","from_peer","conv_id","transient","toClients","to_peers","pushData","push_data","broadcast","validTill","ts","valid_till","Statistic","LeaderboardVersionChangeInterval","NEVER","DAY","WEEK","MONTH","LeaderboardOrder","ASCENDING","DESCENDING","LeaderboardUpdateStrategy","BETTER","LAST","SUM","parseStatisticData","statisticData","statisticName","statisticValue","Leaderboard","updateStrategy","versionChangeInterval","nextResetAt","createLeaderboard","getLeaderboard","getStatistics","statisticNames","statistics","updateStatistics","overwrite","deleteStatistics","_getResults","selectUserKeys","includeUserKeys","includeStatistics","includeUser","rankings","rankingData","rank","includedStatistics","getResults","getResultsAroundUser","_update","updateVersionChangeInterval","updateUpdateStrategy","getArchives","activatedAt","deactivatedAt","adapters","WebSocket","_adaptersSuperagent","convertResponse","__awaiter","thisArg","_arguments","generator","adopt","fulfilled","rejected","__generator","verb","label","trys","sent","adapter_utils_1","superagent","_a","signal","req","aborted","onAbort","error_1","_b","AbortError","abort","error_2","attach","__extends","__","extendStatics","_this","serialize","pushEncodedKeyValuePair","encodeURI","subkey","parseString","pair","parseHeader","line","lines","fields","trim","isJSON","mime","Response","xhr","responseType","statusText","_setStatusProperties","getAllResponseHeaders","getResponseHeader","_setHeaderProperties","_responseType","_parseBody","Request","_query","_header","err_","original","rawResponse","new_err","_isResponseOK","del","_trim","Emitter","safeStringify","RequestBase","ResponseBase","Agent","getXHR","XMLHttpRequest","serializeObject","types","xml","urlencoded","form","_parser","toError","msg","accept","auth","encoder","_auth","_getFormData","append","_formData","FormData","_shouldRetry","_retry","_maxRetries","retries","_retries","crossDomainError","crossDomain","agent","ca","pipe","_isHost","_endCalled","_finalizeQueryString","_end","_setUploadTimeout","_uploadTimeout","_uploadTimeoutTimer","_timeoutError","_aborted","_setTimeouts","onreadystatechange","readyState","_responseTimeoutTimer","timedout","handleProgress","hasListeners","_withCredentials","withCredentials","contentType","_serializer","setRequestHeader","_setDefaults","delete","patch","put","StringPrototype","$trim","whitespaces","whitespace","ltrim","rtrim","non","callbacks","defaultOptions","depthLimit","MAX_SAFE_INTEGER","edgesLimit","spacer","decirc","replacerStack","replaceGetterValues","setReplace","propertyDescriptor","edgeIndex","CIRCULAR_REPLACE_NODE","LIMIT_REPLACE_NODE","compareFunction","deterministicStringify","tmp","deterministicDecirc","stable","stableStringify","_includes","_sort","_timer","_timeout","_responseTimeout","deadline","retry","_retryCallback","ERROR_CODES","override","timedoutError","_fullfilledPromise","use","_okCallback","getHeader","base64Encoder","redirects","_maxRedirects","maxResponseSize","_maxResponseSize","isObj","sortQuery","queryArr","_appendQueryString","errno","arrayMethod","stringMethod","$includes","notARegExp","correctIsRegExpLogic","stringIndexOf","searchString","MATCH","regexp","error1","error2","deletePropertyOrThrow","internalSort","IE_OR_EDGE","V8","WEBKIT","un$Sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","chr","getSortCompare","comparefn","itemsLength","items","arrayLength","mergeSort","middle","insertionSort","merge","element","llength","rlength","lindex","rindex","firefox","UA","webkit","utils","ct","links","link","parseLinks","statusType","info","redirect","clientError","serverError","created","accepted","noContent","badRequest","unauthorized","notAcceptable","forbidden","notFound","unprocessableEntity","_reduce","cleanHeader","changesOrigin","authorization","cookie","reduce","$reduce","CHROME_VERSION","CHROME_BUG","IS_RIGHT","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_from","iter","_isIterable2","_defaults","def","isIterable"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,gBAAZC,UAA0C,gBAAXC,QACxCA,OAAOD,QAAUD,IACQ,kBAAXG,SAAyBA,OAAOC,IAC9CD,UAAWH,GACe,gBAAZC,SACdA,QAAY,GAAID,IAEhBD,EAAS,GAAIC,KACI,mBAATK,MAAuBA,KAAOC,KAAM,WAC9C,M,aCNE,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BE,EAAGF,EACHG,GAAG,EACHV,WAUD,OANAW,GAAQJ,GAAUK,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOS,GAAI,EAGJT,EAAOD,QAvBf,GAAIQ,KA4DJ,OAhCAF,GAAoBO,EAAIF,EAGxBL,EAAoBQ,EAAIN,EAGxBF,EAAoBS,EAAI,SAASf,EAASgB,EAAMC,GAC3CX,EAAoBY,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,GAC9BK,cAAc,EACdC,YAAY,EACZC,IAAKN,KAMRX,EAAoBkB,EAAI,SAASvB,GAChC,GAAIgB,GAAShB,GAAUA,EAAOwB,WAC7B,WAAwB,MAAOxB,GAAgB,SAC/C,WAA8B,MAAOA,GAEtC,OADAK,GAAoBS,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRX,EAAoBY,EAAI,SAASQ,EAAQC,GAAY,MAAOR,QAAOS,UAAUC,eAAejB,KAAKc,EAAQC,IAGzGrB,EAAoBwB,EAAI,GAGjBxB,EAAoBA,EAAoByB,EAAI,OCgB/C,SAAU9B,EAAQD,EAASM,GAEjC,YC9EA,IAAI0B,GAAS,EAAQ,GACjBC,EAAQ,EAAQ,IAChBC,EAAc,EAAQ,GACtBC,EAAa,EAAQ,GACrBC,EAA2B,EAAQ,IAAmDC,EACtFC,EAAW,EAAQ,KACnBC,EAAO,EAAQ,IACfC,EAAO,EAAQ,IACfC,EAA8B,EAAQ,IACtCC,EAAS,EAAQ,IAEjBC,EAAkB,SAAUC,GAC9B,GAAIC,GAAU,SAAUC,EAAGC,EAAGjC,GAC5B,GAAIT,eAAgBwC,GAAS,CAC3B,OAAQG,UAAUC,QAChB,IAAK,GAAG,MAAO,IAAIL,EACnB,KAAK,GAAG,MAAO,IAAIA,GAAkBE,EACrC,KAAK,GAAG,MAAO,IAAIF,GAAkBE,EAAGC,GACxC,MAAO,IAAIH,GAAkBE,EAAGC,EAAGjC,GACrC,MAAOmB,GAAMW,EAAmBvC,KAAM2C,WAG1C,OADAH,GAAQjB,UAAYgB,EAAkBhB,UAC/BiB,EAkBT5C,GAAOD,QAAU,SAAUkD,EAASC,GAClC,GAUIC,GAAQC,EAAYC,EACpBC,EAAKC,EAAgBC,EAAgBC,EAAgBC,EAAgBC,EAXrEC,EAASX,EAAQY,OACjBC,EAASb,EAAQlB,OACjBgC,EAASd,EAAQe,KACjBC,EAAQhB,EAAQiB,MAEhBC,EAAeL,EAAS/B,EAASgC,EAAShC,EAAO6B,IAAW7B,EAAO6B,QAAejC,UAElFkC,EAASC,EAASxB,EAAOA,EAAKsB,IAAWpB,EAA4BF,EAAMsB,MAAYA,GACvFQ,EAAkBP,EAAOlC,SAK7B,KAAK2B,IAAOJ,GACVC,EAASd,EAASyB,EAASR,EAAMM,GAAUG,EAAS,IAAM,KAAOT,EAAKL,EAAQoB,QAE9EjB,GAAcD,GAAUgB,GAAgB1B,EAAO0B,EAAcb,GAE7DE,EAAiBK,EAAOP,GAEpBF,IAAgBH,EAAQqB,gBAC1BX,EAAaxB,EAAyBgC,EAAcb,GACpDG,EAAiBE,GAAcA,EAAWY,OACrCd,EAAiBU,EAAab,IAGrCC,EAAkBH,GAAcK,EAAkBA,EAAiBP,EAAOI,GAEtEF,SAAqBI,UAAyBD,KAGlBG,EAA5BT,EAAQV,MAAQa,EAA6Bb,EAAKgB,EAAgBxB,GAE7DkB,EAAQuB,MAAQpB,EAA6BV,EAAgBa,GAE7DU,GAAS/B,EAAWqB,GAAkCtB,EAAYsB,GAErDA,GAGlBN,EAAQwB,MAASlB,GAAkBA,EAAekB,MAAUjB,GAAkBA,EAAeiB,OAC/FjC,EAA4BkB,EAAgB,QAAQ,GAGtDlB,EAA4BqB,EAAQP,EAAKI,GAErCO,IACFZ,EAAoBO,EAAS,YACxBnB,EAAOH,EAAMe,IAChBb,EAA4BF,EAAMe,MAGpCb,EAA4BF,EAAKe,GAAoBC,EAAKC,GAEtDN,EAAQyB,MAAQN,IAAoBA,EAAgBd,IACtDd,EAA4B4B,EAAiBd,EAAKC,ODyFpD,SAAUvD,EAAQD,GE1LxB,QAAS4E,GAAuBC,GAC9B,MAAOA,IAAOA,EAAIpD,WAAaoD,GAC7B,QAAWA,GAIf5E,EAAOD,QAAU4E,EAAwB3E,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,SFgMxG,SAAUC,EAAQ6E,EAAqBxE,GAE7C,YGxMA,6hNHoXM,SAAUL,EAAQD,GIpXxBC,EAAOD,QAAU,SAAU+E,GACzB,IACE,QAASA,IACT,MAAOC,GACP,OAAO,KJ6XL,SAAU/E,EAAQD,EAASM,GKjYjC,GAAI2E,GAAc,EAAQ,IAEtBC,EAAoBC,SAASvD,UAC7BY,EAAO0C,EAAkB1C,KACzB5B,EAAOsE,EAAkBtE,KACzBsB,EAAc+C,GAAezC,EAAKA,KAAK5B,EAAMA,EAEjDX,GAAOD,QAAUiF,EAAc,SAAUG,GACvC,MAAOA,IAAMlD,EAAYkD,IACvB,SAAUA,GACZ,MAAOA,IAAM,WACX,MAAOxE,GAAKqB,MAAMmD,EAAIpC,cL0YpB,SAAU/C,EAAQD,EAASM,GMrZjC,GAAI0B,GAAS,EAAQ,GACjBqD,EAAS,EAAQ,IACjB3C,EAAS,EAAQ,IACjB4C,EAAM,EAAQ,KACdC,EAAgB,EAAQ,IACxBC,EAAoB,EAAQ,KAE5BC,EAAwBJ,EAAO,OAC/BK,EAAS1D,EAAO0D,OAChBC,EAAYD,GAAUA,EAAY,IAClCE,EAAwBJ,EAAoBE,EAASA,GAAUA,EAAOG,eAAiBP,CAE3FrF,GAAOD,QAAU,SAAUgB,GACzB,IAAK0B,EAAO+C,EAAuBzE,KAAWuE,GAAuD,gBAA/BE,GAAsBzE,GAAoB,CAC9G,GAAI8E,GAAc,UAAY9E,CAC1BuE,IAAiB7C,EAAOgD,EAAQ1E,GAClCyE,EAAsBzE,GAAQ0E,EAAO1E,GAErCyE,EAAsBzE,GADbwE,GAAqBG,EACAA,EAAUG,GAEVF,EAAsBE,GAEtD,MAAOL,GAAsBzE,KN6Z3B,SAAUf,EAAQ6E,EAAqBxE,GAE7C,cOrbA,2oBACO,IAAIyF,GAAU,SAKVjG,EAAsB,gBAARM,OAAoBA,KAAKA,OAASA,MAAQA,MACxC,gBAAV4B,IAAsBA,EAAOA,SAAWA,GAAUA,GACzDmD,SAAS,qBAIRa,EAAaC,MAAMrE,UAAWsE,EAAW/E,OAAOS,UAChDuE,EAAgC,mBAAXT,QAAyBA,OAAO9D,UAAY,KAGjEwE,EAAOJ,EAAWI,KACzBC,EAAQL,EAAWK,MACnBC,EAAWJ,EAASI,SACpBzE,EAAiBqE,EAASrE,eAGnB0E,EAA6C,mBAAhBC,aACpCC,EAAuC,mBAAbC,UAInBC,EAAgBV,MAAMW,QAC7BC,EAAa1F,OAAO2F,KACpBC,EAAe5F,OAAO6F,OACtBC,EAAeV,GAAuBC,YAAYU,OAG3CC,EAASC,MAChBC,EAAYC,SAGLC,IAAejB,SAAU,MAAMkB,qBAAqB,YACpDC,GAAsB,UAAW,gBAAiB,WAC3D,uBAAwB,iBAAkB,kBAGjCC,EAAkBC,KAAKC,IAAI,EAAG,IAAM,IP4clBhH,KAAKkE,EAAqBxE,EAAoB,OAIrE,SAAUL,EAAQD,EAASM,GQ1fjC,GAAIiC,GAAO,EAAQ,IACfG,EAAS,EAAQ,IACjBmF,EAA+B,EAAQ,KACvCzG,EAAiB,EAAQ,IAAuCiB,CAEpEpC,GAAOD,QAAU,SAAU8H,GACzB,GAAIpC,GAASnD,EAAKmD,SAAWnD,EAAKmD,UAC7BhD,GAAOgD,EAAQoC,IAAO1G,EAAesE,EAAQoC,GAChDtD,MAAOqD,EAA6BxF,EAAEyF,ORmgBpC,SAAU7H,EAAQD,GSzgBxBC,EAAOD,QAAU,SAAU+H,GACzB,MAA0B,kBAAZA,KTmhBV,SAAU9H,EAAQD,EAASM,IUthBjC,8BACE,MAAO0H,IAAMA,EAAGL,MAAQA,MAAQK,EAIlC/H,GAAOD,QAELiI,EAA2B,gBAAdC,aAA0BA,aACvCD,EAAuB,gBAAVE,SAAsBA,SAEnCF,EAAqB,gBAAR7H,OAAoBA,OACjC6H,EAAuB,gBAAVjG,IAAsBA,IAEnC,WAAe,MAAO3B,UAAc8E,SAAS,mBV0hBlBvE,KAAKZ,EAASM,EAAoB,OAIzD,SAAUL,EAAQD,EAASM,GW3iBjCL,EAAOD,QAAU,EAAQ,MXijBnB,SAAUC,EAAQD,EAASM,GYjjBjC,GAAI2E,GAAc,EAAQ,IAEtBrE,EAAOuE,SAASvD,UAAUhB,IAE9BX,GAAOD,QAAUiF,EAAcrE,EAAK4B,KAAK5B,GAAQ,WAC/C,MAAOA,GAAKqB,MAAMrB,EAAMoC,aZyjBpB,SAAU/C,EAAQD,EAASM,Ga9jBjC,GAAI4B,GAAc,EAAQ,EAE1BjC,GAAOD,QAAUkC,KAAekG,gBbqkB1B,SAAUnI,EAAQD,EAASM,GcvkBjC,GAAI4B,GAAc,EAAQ,GACtBmG,EAAW,EAAQ,IAEnBxG,EAAiBK,KAAeL,eAKpC5B,GAAOD,QAAUmB,OAAOuB,QAAU,SAAgBsF,EAAIzE,GACpD,MAAO1B,GAAewG,EAASL,GAAKzE,Kd+kBhC,SAAUtD,EAAQ6E,EAAqBxE,GAE7C,YenlBe,SAASwG,GAAKjC,GAC3B,IAAK,YAASA,GAAM,QACpB,IAAI,IAAY,MAAO,aAAWA,EAClC,IAAIiC,KACJ,KAAK,GAAIvD,KAAOsB,GAAS,YAAIA,EAAKtB,IAAMuD,EAAKV,KAAK7C,EAGlD,OADI,MAAY,YAAoBsB,EAAKiC,GAClCA,EAdT,2CfonBM,SAAU7G,EAAQD,GgBpnBxBC,EAAOD,YhB2nBD,SAAUC,EAAQ6E,EAAqBxE,GAE7C,YiB1nBe,SAASgI,GAAUtH,GAChC,GAAIuH,GAAM,WAAavH,EAAO,GAC9B,OAAO,UAAS6D,GACd,MAAO,KAASjE,KAAKiE,KAAS0D,GANlC,kBjB6oBM,SAAUtI,EAAQD,EAASM,GkB7oBjC,GAAI6B,GAAa,EAAQ,EAEzBlC,GAAOD,QAAU,SAAUgI,GACzB,MAAoB,gBAANA,GAAwB,OAAPA,EAAc7F,EAAW6F,KlBqpBpD,SAAU/H,EAAQD,EAASM,GmBxpBjC,GAAIiC,GAAO,EAAQ,IACfP,EAAS,EAAQ,GACjBG,EAAa,EAAQ,GAErBqG,EAAY,SAAUC,GACxB,MAAOtG,GAAWsG,GAAYA,MAAWC,GAG3CzI,GAAOD,QAAU,SAAU2I,EAAWC,GACpC,MAAO5F,WAAUC,OAAS,EAAIuF,EAAUjG,EAAKoG,KAAeH,EAAUxG,EAAO2G,IACzEpG,EAAKoG,IAAcpG,EAAKoG,GAAWC,IAAW5G,EAAO2G,IAAc3G,EAAO2G,GAAWC,KnBgqBrF,SAAU3I,EAAQ6E,EAAqBxE,GAE7C,YoBtqBe,SAASuI,GAAGrE,EAAOsE,EAASC,GACzC,MAAI,KAAEC,WAAa,IAAiB,IAAEA,SAASxE,EAAOsE,GAC/C,YAAatE,EAAOsE,EAASC,GARtC,qCpB+rBM,SAAU9I,EAAQD,EAASM,GqB/rBjC,GAAI2I,GAAQ,EAAQ,EAGpBhJ,GAAOD,SAAWiJ,EAAM,WAEtB,MAA8E,IAAvE9H,OAAOC,kBAAmB,GAAKG,IAAK,WAAc,MAAO,MAAQ,MrBusBpE,SAAUtB,EAAQD,EAASM,GsB5sBjC,GAAI4I,GAAW,EAAQ,IAEnBC,EAAUC,OACVC,EAAaC,SAGjBrJ,GAAOD,QAAU,SAAU+H,GACzB,GAAImB,EAASnB,GAAW,MAAOA,EAC/B,MAAMsB,GAAWF,EAAQpB,GAAY,uBtBotBjC,SAAU9H,EAAQ6E,EAAqBxE,GAE7C,YuBztBe,SAASiJ,GAAcC,EAAMC,GAE1C,MADAA,GAA2B,MAAdA,EAAqBD,EAAKvG,OAAS,GAAKwG,EAC9C,WAIL,IAHA,GAAIxG,GAAS0E,KAAK+B,IAAI1G,UAAUC,OAASwG,EAAY,GACjDE,EAAO1D,MAAMhD,GACb2G,EAAQ,EACLA,EAAQ3G,EAAQ2G,IACrBD,EAAKC,GAAS5G,UAAU4G,EAAQH,EAElC,QAAQA,GACN,IAAK,GAAG,MAAOD,GAAK5I,KAAKP,KAAMsJ,EAC/B,KAAK,GAAG,MAAOH,GAAK5I,KAAKP,KAAM2C,UAAU,GAAI2G,EAC7C,KAAK,GAAG,MAAOH,GAAK5I,KAAKP,KAAM2C,UAAU,GAAIA,UAAU,GAAI2G,GAE7D,GAAIE,GAAO5D,MAAMwD,EAAa,EAC9B,KAAKG,EAAQ,EAAGA,EAAQH,EAAYG,IAClCC,EAAKD,GAAS5G,UAAU4G,EAG1B,OADAC,GAAKJ,GAAcE,EACZH,EAAKvH,MAAM5B,KAAMwJ,IAxB5B,OvB+vBM,SAAU5J,EAAQ6E,EAAqBxE,GAE7C,YwB5vBe,SAASwJ,GAAEjF,GACxB,MAAIA,aAAeiF,GAAUjF,EACvBxE,eAAgByJ,QACtBzJ,KAAK0J,SAAWlF,GADiB,GAAIiF,GAAEjF,GAPzC,gBAWAiF,GAAE/D,QAAU,IAGZ+D,EAAElI,UAAU4C,MAAQ,WAClB,MAAOnE,MAAK0J,UAKdD,EAAElI,UAAUoI,QAAUF,EAAElI,UAAUqI,OAASH,EAAElI,UAAU4C,MAEvDsF,EAAElI,UAAU0E,SAAW,WACrB,MAAO8C,QAAO/I,KAAK0J,YxB0wBf,SAAU9J,EAAQ6E,EAAqBxE,GAE7C,YyBnyBA,qBAOe,iBAAwB,MzB2yBjC,SAAUL,EAAQD,EAASM,G0BlzBjCL,EAAOD,QAAU,EAAQ,M1BwzBnB,SAAUC,EAAQD,EAASM,G2BxzBjC,GAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAU,SAAUkK,GACzB,MAAO3H,GAAK2H,EAAc,e3Bg0BtB,SAAUjK,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C6J,EAAUvF,EAAuBtE,EAAoB,KAErD8J,EAAWxF,EAAuBtE,EAAoB,K4B50BpDwJ,EAAIO,EAAQ,GACZC,EAAMD,EAAQ,KACpB,EAAmBA,EAAQ,GAAnBE,EAAR,EAAQA,OACFC,EAAKH,EAAQ,IACbI,EAAUJ,EAAQ,IACxB,EAA4BA,EAAQ,IAA5BK,EAAR,EAAQA,gBACFC,EAAON,EAAQ,KAGfO,EAAO,SAACrH,EAAKsH,GAAgB,MAC3BC,GAAM,GAAIC,OAAOC,UACjBC,EAAYX,EAAIQ,EAAMvH,EAC5B,IAAIsH,EAAa,MACf,QAAO,EAAP,uBAAUI,EAAV,aAAuBH,EAAvB,WAEF,OAAO,EAAP,uBAAUG,EAAV,aAAuBH,IAGnBI,EAAY,SAACC,EAASC,GACtBA,EACFD,EAAQ,aAAeP,EAAKJ,EAAGa,gBAE/BF,EAAQ,YAAcX,EAAGa,gBAIvBC,EAAa,WAA+B,GAA9BC,GAA8B,0DAAZH,EAAY,uCAC1CD,GACJ,UAAWX,EAAGgB,cACd,eAAgB,kCAEdC,GAAe,CA6BnB,OA5BwC,iBAA7BF,GAAYE,aACrBA,EAAeF,EAAYE,aACiB,iBAA5BjB,GAAGkB,QAAQD,eAC3BA,EAAejB,EAAGkB,QAAQD,cAExBA,EACEjB,EAAGmB,UACDP,EACFD,EAAQ,aAAeP,EAAKJ,EAAGmB,WAAW,GAE1CR,EAAQ,YAAR,UAAyBX,EAAGmB,UAA5B,YAGFC,QAAQC,KAAK,iDACbX,EAAUC,EAASC,IAGrBF,EAAUC,EAASC,GAEjBZ,EAAGsB,UACLX,EAAQ,iBAAmBX,EAAGsB,SAEF,OAA1BtB,EAAGkB,QAAQK,aACbZ,EAAQ,aAAe/B,OAAOoB,EAAGkB,QAAQK,aAE3CZ,EAA4D,WAC1DX,EAAGwB,cAAcC,UAEZ,UAAQC,UAAUC,KAAK,WAE5B,GAAMC,GAAe1B,EAAgBa,EACrC,IAAIa,EACFjB,EAAQ,gBAAkBiB,MACrB,KAAK5B,EAAGkB,QAAQW,mBACrB,MAAO7B,GAAG8B,KAAKC,eAAeJ,KAAK,SAAAK,GAIjC,MAHIA,IAAeA,EAAYC,gBAC7BtB,EAAQ,gBAAkBqB,EAAYC,eAEjCtB,GAGX,OAAOA,MAILuB,EAAe,SAAC,GAOhB,QANJC,cAMI,OANM,MAMN,MALJC,cAKI,OALM,MAKN,EAJJrK,EAII,EAJJA,KAKIsK,EAASrC,EAAGkB,QAAQoB,WAAWH,EAEnC,KAAKE,EAAQ,KAAM,IAAIE,OAAJ,mCAAsCJ,GAUzD,OARyC,MAArCE,EAAOG,OAAOH,EAAO5J,OAAS,KAChC4J,GAAU,KAEZA,GAAUD,EACNrK,IACFsK,GAAUtK,GAGLsK,GAgBHI,EAAU,SAAC,GASX,GARJN,GAQI,EARJA,QACAC,EAOI,EAPJA,QACAhE,EAMI,EANJA,OACArG,EAKI,EALJA,KACA2K,EAII,EAJJA,MACAC,EAGI,EAHJA,KACA5B,EAEI,EAFJA,YAEI,IADJH,cACI,SACJ,KAAMZ,EAAGgB,gBAAkBhB,EAAGa,iBAAkBb,EAAGmB,UACjD,KAAM,IAAIoB,OAAM,kBAEdvC,GAAG4C,YACL5C,EAAG4C,WAAWC,SAEhB,IAAwBC,GAAY9C,EAAGkB,QAA/B6B,eACFC,EAAMd,GAAeC,UAASpK,OAAMqK,WAC1C,OAAOtB,GAAWC,EAAaH,GAASe,KAAK,SAAAhB,GAAO,MAClDR,IAAO/B,SAAQ4E,MAAKN,QAAOC,OAAMhC,UAASmC,YAAWG,MAAM,SAAAzI,GACzD,GAAI0I,IACFC,KAAM3I,EAAM2I,OAAS,EACrB3I,MAAOA,EAAM4I,SAAW5I,EAAM6I,aAEhC,IAAI7I,EAAM8I,UAAY9I,EAAM8I,SAASH,KACnCD,EAAY1I,EAAM8I,aACb,IAAI9I,EAAM6I,aACf,IACEH,EAAYK,KAAKC,MAAMhJ,EAAM6I,cAC7B,MAAOI,IAKX,GADAP,EAAUQ,WAAaR,EAAUQ,YAAcR,EAAU1I,OACpDwF,EAAGwB,cAAcmC,oBAAqB,QACzCT,GAAU1I,QAAV,2CAAwBA,EAAMoJ,YAAc,MAA5C,aAAqDxF,EAArD,aAA+D4E,EAA/D,KAIF,GAAMa,GAAM,GAAI5D,GAAQiD,EAAUC,KAAMD,EAAU1I,MAElD,aADO0I,GAAU1I,MACX8E,EAAES,OAAO8D,EAAKX,QAMpBY,EAAW,SACfC,EACAC,EACAC,EACA7F,EACAuE,EACA5B,EACA2B,GAEA,GAAI3K,GAAO,EAKX,IAJIgM,IAAOhM,GAAQ,IAAJ,OAAQgM,IACnBC,IAAWjM,GAAQ,IAAJ,OAAQiM,IACvBC,IAAUlM,GAAQ,IAAJ,OAAQkM,IAEtBtB,GAAQA,EAAKuB,eACf,KAAM,IAAI3B,OAAM,wCAClB,IAAII,GAAQA,EAAKwB,OAAQ,KAAM,IAAI5B,OAAM,gCAKzC,OAJInE,IAAmC,QAAzBA,EAAOgG,gBACnB1B,EAAQ3C,KAAW2C,EAAOC,GAC1BA,EAAO,MAEFF,GACLrE,SACArG,OACA2K,QACAC,OACA5B,gBAIJf,GAAGyC,QAAUA,EAEbhN,EAAOD,SACLsO,WACArB,Y5Bo3BI,SAAUhN,EAAQD,EAASM,G6BtjCjC,GAAI6B,GAAa,EAAQ,GACrB0M,EAAc,EAAQ,IAEtBxF,EAAaC,SAGjBrJ,GAAOD,QAAU,SAAU+H,GACzB,GAAI5F,EAAW4F,GAAW,MAAOA,EACjC,MAAMsB,GAAWwF,EAAY9G,GAAY,wB7B8jCrC,SAAU9H,EAAQ6E,EAAqBxE,GAE7C,Y8BxkCA,oBAGIwO,EAAa,YAAU,YAIvBC,EAAW,IAAKC,UAAY,IAAKA,SAASC,UAC5B,mBAAP,KAAyC,gBAAbC,YAA4C,kBAAZH,KACrED,EAAa,SAASjK,GACpB,MAAqB,kBAAPA,KAAqB,IAIxB,O9BglCT,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y+BhmCA,aAGe,iBAAgB,W/BumCzB,SAAUL,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C6O,EAAQvK,EAAuBtE,EAAoB,KAEnD8O,EAAkBxK,EAAuBtE,EAAoB,MAE7D8J,EAAWxF,EAAuBtE,EAAoB,KgCrnCpDwJ,EAAIO,EAAQ,GAGZgF,EAAoB,SAAAC,GAAC,MAAIxF,GAAEyF,OAAOD,IAAMxF,EAAE0F,YAAYF,IAEtDG,EAAc,SAAA3L,GAClB,MAAIgG,GAAElD,QAAQ9C,GACLA,MAEM4E,KAAX5E,GAAmC,OAAXA,MAGpBA,IAGJ4L,EAAwB,WAAwC,gEAArC5I,GAAqC,gBAA/B6I,EAA+B,EAA/BA,QAASC,EAAsB,EAAtBA,WACxCC,IAUN,OATI/I,KACF+I,EAAa/I,KAAO2I,EAAY3I,GAAMgJ,KAAK,MAEzCH,IACFE,EAAaF,QAAUF,EAAYE,GAASG,KAAK,MAE/CF,IACFC,EAAaE,UAAYH,GAEpBC,GAGHnF,EAAkB,SAAAa,GACtB,MAAIA,GAAYa,aACPb,EAAYa,aAGnBb,EAAYyE,MACgC,kBAArCzE,GAAYyE,KAAKtF,gBAEjBa,EAAYyE,KAAKtF,sBAJ1B,IAQIuF,EAAM,SAAAC,GAAW,MAAI,UAAA1L,GAAK,MAAK0L,GAAY1L,GAAQA,IAGnD2L,EAAmB,aAKnBC,EAAW,SAAkBC,EAAQC,EAAYC,GACrD,GAAIC,EAwCJ,OAlCEA,GADEF,GAAcA,EAAWzO,eAAe,eAClCyO,EAAWG,YAGX,WACNJ,EAAOpO,MAAM5B,KAAM2C,YAKvB8G,EAAES,OAAOiG,EAAOH,GAIhBF,EAAiBvO,UAAYyO,EAAOzO,UACpC4O,EAAM5O,UAAY,GAAIuO,GAIlBG,GACFxG,EAAES,OAAOiG,EAAM5O,UAAW0O,GAIxBC,GACFzG,EAAES,OAAOiG,EAAOD,GAIlBC,EAAM5O,UAAU6O,YAAcD,EAI9BA,EAAME,UAAYL,EAAOzO,UAElB4O,GAGHG,EAAY,SAAAC,GAAO,MAAI,IAAI7F,MAAK6F,IAEhCC,EAAW,SAAC/M,EAAQP,EAAKiB,GAE7B,GAAMsM,GAAOvN,EAAIwN,MAAM,KACjBC,EAAUF,EAAKG,MACjBC,EAAgBpN,CAMpB,OALAgN,GAAKK,QAAQ,SAAAC,OACgB1I,KAAvBwI,EAAcE,KAAoBF,EAAcE,OACpDF,EAAgBA,EAAcE,KAEhCF,EAAcF,GAAWxM,EAClBV,GAGHuN,EAAY,SAACvN,EAAQP,GAKzB,IAAK,GAJCuN,GAAOvN,EAAIwN,MAAM,KACjBO,EAAWR,EAAK,GAChBE,EAAUF,EAAKG,MACjBC,EAAgBpN,EACXrD,EAAI,EAAGA,EAAIqQ,EAAK7N,OAAQxC,IAE/B,OAAsBiI,MADtBwI,EAAgBA,EAAcJ,EAAKrQ,KAEjC,WAAQiI,OAAWA,GAAWsI,EAIlC,QADcE,EAAcF,GACbE,EAAeF,EAASM,IAGnCC,EAAgB,SAAA1M,GAAG,MACvBiF,GAAEZ,SAASrE,KAAQ,aAAsBA,KAAS1D,OAAOS,WAErD4P,EAAgB,QAAhBA,GAAyBC,EAAWC,GACxC,MAAID,KACKC,IAAgBvF,KAAK,WAC1B,MAAOqF,GAAcC,EAAWC,KAG7B,UAAQxF,UAGjBjM,GAAOD,SACLqP,oBACAI,cACAC,wBACAhF,kBACAuF,MACAG,WACAO,YACAE,WACAQ,YACAE,gBACAC,kBhC8oCI,SAAUvR,EAAQD,GiChyCxBC,EAAOD,SAAU,GjCuyCX,SAAUC,EAAQD,EAASM,GkCvyCjC,GAAIqR,GAAyB,EAAQ,IAEjCC,EAAUzQ,MAIdlB,GAAOD,QAAU,SAAU+H,GACzB,MAAO6J,GAAQD,EAAuB5J,MlC+yClC,SAAU9H,EAAQD,EAASM,GmCtzCjC,GAAIuR,GAAc,EAAQ,IACtBC,EAAiB,EAAQ,KACzBC,EAA0B,EAAQ,KAClCC,EAAW,EAAQ,IACnBC,EAAgB,EAAQ,IAExB5I,EAAaC,UAEb4I,EAAkB/Q,OAAOC,eAEzB+Q,EAA4BhR,OAAOiB,wBAOvCpC,GAAQqC,EAAIwP,EAAcE,EAA0B,SAAwBK,EAAGC,EAAGC,GAIhF,GAHAN,EAASI,GACTC,EAAIJ,EAAcI,GAClBL,EAASM,GACQ,kBAANF,IAA0B,cAANC,GAAqB,SAAWC,IARlD,YAQ4EA,KAAeA,EAAmB,SAAG,CAC5H,GAAIC,GAAUJ,EAA0BC,EAAGC,EACvCE,IAAWA,EAAgB,WAC7BH,EAAEC,GAAKC,EAAW9N,MAClB8N,GACEjR,aAdW,gBAcmBiR,GAAaA,EAAuB,aAAIC,EAAoB,aAC1FjR,WAhBS,cAgBiBgR,GAAaA,EAAqB,WAAIC,EAAkB,WAClFC,UAAU,IAGd,MAAON,GAAgBE,EAAGC,EAAGC,IAC7BJ,EAAkB,SAAwBE,EAAGC,EAAGC,GAIlD,GAHAN,EAASI,GACTC,EAAIJ,EAAcI,GAClBL,EAASM,GACLR,EAAgB,IAClB,MAAOI,GAAgBE,EAAGC,EAAGC,GAC7B,MAAOtN,IACT,GAAI,OAASsN,IAAc,OAASA,GAAY,KAAMjJ,GAAW,0BAEjE,OADI,SAAWiJ,KAAYF,EAAEC,GAAKC,EAAW9N,OACtC4N,InC8zCH,SAAUnS,EAAQD,EAASM,GoCt2CjC,GAAImS,GAAgB,EAAQ,KACxBd,EAAyB,EAAQ,GAErC1R,GAAOD,QAAU,SAAUgI,GACzB,MAAOyK,GAAcd,EAAuB3J,MpC+2CxC,SAAU/H,EAAQD,EAASM,GqCp3CjC,GAAIoS,GAAW,EAAQ,IAIvBzS,GAAOD,QAAU,SAAU6E,GACzB,MAAO6N,GAAS7N,EAAI5B,UrC43ChB,SAAUhD,EAAQD,EAASM,GsCj4CjCL,EAAOD,QAAU,EAAQ,MtCu4CnB,SAAUC,EAAQD,EAASM,GuCv4CjCL,EAAOD,QAAU,EAAQ,MvC64CnB,SAAUC,EAAQD,EAASM,GwC74CjC,GAAIuR,GAAc,EAAQ,IACtBc,EAAuB,EAAQ,IAC/BC,EAA2B,EAAQ,GAEvC3S,GAAOD,QAAU6R,EAAc,SAAUnQ,EAAQ6B,EAAKiB,GACpD,MAAOmO,GAAqBtQ,EAAEX,EAAQ6B,EAAKqP,EAAyB,EAAGpO,KACrE,SAAU9C,EAAQ6B,EAAKiB,GAEzB,MADA9C,GAAO6B,GAAOiB,EACP9C,IxCq5CH,SAAUzB,EAAQD,EAASM,GyC75CjC,GAAIuS,GAAU,EAAQ,IAElB1J,EAAUC,MAEdnJ,GAAOD,QAAU,SAAU+H,GACzB,GAA0B,WAAtB8K,EAAQ9K,GAAwB,KAAMuB,WAAU,4CACpD,OAAOH,GAAQpB,KzCq6CX,SAAU9H,EAAQ6E,EAAqBxE,GAE7C,Y0C16Ce,SAASwS,GAAIjO,EAAKtB,GAC/B,MAAc,OAAPsB,GAAe,IAAejE,KAAKiE,EAAKtB,GAJjD,kB1C07CM,SAAUtD,EAAQD,EAASM,G2C17CjCL,EAAOD,QAAU,EAAQ,M3Cg8CnB,SAAUC,EAAQD,EAASM,GAEjC,Y4C57CA,SAASmK,GAAQkD,EAAMC,GACrB,GAAI,eADGnD,GACP,wBAAgB,CACd,GAAMzF,GAAQ,GAAI+H,OAAMa,EAGxB,QAFA,aAAsB5I,GAAO,aAAsB3E,OACnD2E,EAAM2I,KAAOA,EACN3I,EAET,MAAO,IAAIyF,GAAQkD,EAAMC,G5Cw7C3B,GAAIhJ,GAAyBtE,EAAoB,GAE7CyS,EAAkBnO,EAAuBtE,EAAoB,MAE7D8O,EAAkBxK,EAAuBtE,EAAoB,M4Cz8C3DwJ,EAAIO,EAAQ,EAgBlBI,GAAQ7I,UAAYT,OAAO6F,OAAO+F,MAAMnL,WACtC6O,aACEjM,MAAOuI,MACPzL,YAAY,EACZkR,UAAU,EACVnR,cAAc,MAIlB,aAAsBoJ,EAASsC,OAE/BjD,EAAES,OACAE,GAMEuI,aAAc,EAOdC,sBAAuB,EAMvBC,kBAAmB,IAMnBC,iBAAkB,IAOlBC,cAAe,IAQfC,mBAAoB,IAMpBC,kBAAmB,IAOnBC,iBAAkB,IAOlBC,gBAAiB,IAQjBC,aAAc,IAOdC,oBAAqB,IAMrBC,gBAAiB,IAMjBC,eAAgB,IAQhBC,qBAAsB,IAMtBC,mBAAoB,IAMpBC,iBAAkB,IAMlBC,oBAAqB,IAMrBC,WAAY,IAOZC,mBAAoB,IAQpBC,kBAAmB,IAMnBC,YAAa,IAObC,QAAS,IAMTC,sBAAuB,IAMvBC,qBAAsB,IAMtBC,uBAAwB,IAMxBC,uBAAwB,IAMxBC,eAAgB,IAMhBC,gBAAiB,IAMjBC,kBAAmB,IAOnBC,gBAAiB,IAMjBC,kBAAmB,IAOnBC,eAAgB,IAMhBC,cAAe,IAMfC,iBAAkB,IAMlBC,mBAAoB,IAMpBC,mBAAoB,IAMpBC,wBAAyB,IAMzBC,iBAAkB,IAMlBC,iBAAkB,IAMlBC,eAAgB,IAMhBC,YAAa,IAMbC,cAAe,IAMfC,gBAAiB,IAOjBC,gBAAiB,IAMjBC,gCAAiC,IAOjCC,uBAAwB,IAOxBC,kBAAmB,IAOnBC,uBAAwB,IAOxBC,oBAAqB,IAQrBC,iBAAkB,MAItBhW,EAAOD,QAAUyK,G5C+8CX,SAAUxK,EAAQD,G6CnzDxBC,EAAOD,QAAU,SAAUkW,EAAQ1R,GACjC,OACElD,aAAuB,EAAT4U,GACd7U,eAAyB,EAAT6U,GAChB1D,WAAqB,EAAT0D,GACZ1R,MAAOA,K7C4zDL,SAAUvE,EAAQD,EAASM,G8Cj0DjC,GAAI6V,GAAa,EAAQ,GAEzBlW,GAAOD,QAAUmW,EAAW,YAAa,cAAgB,I9Cw0DnD,SAAUlW,EAAQD,G+C10DxBC,EAAOD,Y/Ci1DD,SAAUC,EAAQD,EAASM,GgDj1DjC,GAAI8V,GAAwB,EAAQ,KAChCjU,EAAa,EAAQ,GACrBkU,EAAa,EAAQ,IACrBC,EAAkB,EAAQ,GAE1BC,EAAgBD,EAAgB,eAChC1E,EAAUzQ,OAGVqV,EAAuE,aAAnDH,EAAW,WAAc,MAAOrT,eAGpDyT,EAAS,SAAUzO,EAAIzE,GACzB,IACE,MAAOyE,GAAGzE,GACV,MAAOyB,KAIX/E,GAAOD,QAAUoW,EAAwBC,EAAa,SAAUrO,GAC9D,GAAIoK,GAAG7J,EAAKmO,CACZ,YAAchO,KAAPV,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjDO,EAAMkO,EAAOrE,EAAIR,EAAQ5J,GAAKuO,IAA8BhO,EAEpEiO,EAAoBH,EAAWjE,GAEH,WAA3BsE,EAASL,EAAWjE,KAAmBjQ,EAAWiQ,EAAEuE,QAAU,YAAcD,IhDy1D7E,SAAUzW,EAAQD,EAASM,GiDp3DjC,GAAImC,GAA8B,EAAQ,GAE1CxC,GAAOD,QAAU,SAAU8D,EAAQP,EAAKiB,EAAOtB,GAG7C,MAFIA,IAAWA,EAAQ5B,WAAYwC,EAAOP,GAAOiB,EAC5C/B,EAA4BqB,EAAQP,EAAKiB,GACvCV,IjD43DH,SAAU7D,EAAQD,EAASM,GAEjC,YkDl4DA,IAAIsW,GAAY,EAAQ,IAEpBC,EAAoB,SAAUC,GAChC,GAAI5K,GAAS6K,CACb1W,MAAK2W,QAAU,GAAIF,GAAE,SAAUG,EAAWC,GACxC,OAAgBxO,KAAZwD,OAAoCxD,KAAXqO,EAAsB,KAAMzN,WAAU,0BACnE4C,GAAU+K,EACVF,EAASG,IAEX7W,KAAK6L,QAAU0K,EAAU1K,GACzB7L,KAAK0W,OAASH,EAAUG,GAK1B9W,GAAOD,QAAQqC,EAAI,SAAUyU,GAC3B,MAAO,IAAID,GAAkBC,KlD04DzB,SAAU7W,EAAQ6E,EAAqBxE,GAE7C,YmD55De,SAAS4I,GAASrE,GAC/B,GAAIsS,SAActS,EAClB,OAAgB,aAATsS,GAAgC,WAATA,KAAuBtS,EAHvD,OnDw6DM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YoD16DA,mBAKe,UAAiB,YAAU,UpDk7DpC,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YqDj7De,SAAS8W,GAAKvS,EAAKmE,EAAUF,GAC1CE,EAAW,YAAWA,EAAUF,EAChC,IAAIrI,GAAGwC,CACP,IAAI,YAAY4B,GACd,IAAKpE,EAAI,EAAGwC,EAAS4B,EAAI5B,OAAQxC,EAAIwC,EAAQxC,IAC3CuI,EAASnE,EAAIpE,GAAIA,EAAGoE,OAEjB,CACL,GAAIsK,GAAQ,YAAKtK,EACjB,KAAKpE,EAAI,EAAGwC,EAASkM,EAAMlM,OAAQxC,EAAIwC,EAAQxC,IAC7CuI,EAASnE,EAAIsK,EAAM1O,IAAK0O,EAAM1O,GAAIoE,GAGtC,MAAOA,GArBT,mCrDy9DM,SAAU5E,EAAQD,EAASM,GsDz9DjCL,EAAOD,QAAU,EAAQ,MtD+9DnB,SAAUC,EAAQD,EAASM,GuD/9DjC,GAAI4B,GAAc,EAAQ,GAEtBoE,EAAWpE,KAAeoE,UAC1B+Q,EAAcnV,EAAY,GAAGmE,MAEjCpG,GAAOD,QAAU,SAAUgI,GACzB,MAAOqP,GAAY/Q,EAAS0B,GAAK,GAAI,KvDu+DjC,SAAU/H,EAAQD,EAASM,GwD5+DjC,GAAIgX,GAAa,EAAQ,IACrBrO,EAAQ,EAAQ,EAGpBhJ,GAAOD,UAAYmB,OAAOoW,wBAA0BtO,EAAM,WACxD,GAAIuO,GAAS9R,QAGb,QAAQ0D,OAAOoO,MAAarW,OAAOqW,YAAmB9R,WAEnDA,OAAOhB,MAAQ4S,GAAcA,EAAa,MxDq/DzC,SAAUrX,EAAQD,EAASM,GyDhgEjC,GAOImX,GAAO7K,EAPP5K,EAAS,EAAQ,GACjBiK,EAAY,EAAQ,IAEpByL,EAAU1V,EAAO0V,QACjBC,EAAO3V,EAAO2V,KACdC,EAAWF,GAAWA,EAAQE,UAAYD,GAAQA,EAAK/K,QACvDiL,EAAKD,GAAYA,EAASC,EAG1BA,KACFJ,EAAQI,EAAG9G,MAAM,KAGjBnE,EAAU6K,EAAM,GAAK,GAAKA,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7D7K,GAAWX,MACdwL,EAAQxL,EAAUwL,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQxL,EAAUwL,MAAM,oBACb7K,GAAW6K,EAAM,IAIhCxX,EAAOD,QAAU4M,GzDugEX,SAAU3M,EAAQD,G0DjiExB,GAAImJ,GAAUC,MAEdnJ,GAAOD,QAAU,SAAU+H,GACzB,IACE,MAAOoB,GAAQpB,GACf,MAAO/C,GACP,MAAO,Y1D0iEL,SAAU/E,EAAQD,EAASM,G2DhjEjC,GAAI4B,GAAc,EAAQ,GACtB0U,EAAY,EAAQ,IACpB3R,EAAc,EAAQ,IAEtBzC,EAAON,EAAYA,EAAYM,KAGnCvC,GAAOD,QAAU,SAAUoF,EAAI0S,GAE7B,MADAlB,GAAUxR,OACMsD,KAAToP,EAAqB1S,EAAKH,EAAczC,EAAK4C,EAAI0S,GAAQ,WAC9D,MAAO1S,GAAGnD,MAAM6V,EAAM9U,c3DyjEpB,SAAU/C,EAAQD,EAASM,G4DlkEjC,GAmDIyX,GAnDA/F,EAAW,EAAQ,IACnBgG,EAAyB,EAAQ,KACjCC,EAAc,EAAQ,KACtBC,EAAa,EAAQ,IACrBC,EAAO,EAAQ,KACfC,EAAwB,EAAQ,KAChCC,EAAY,EAAQ,IAMpBC,EAAWD,EAAU,YAErBlI,EAAmB,aAEnBoI,EAAY,SAAUC,GACxB,MAAOC,WAAmBD,EARnB,cAYLE,EAA4B,SAAUX,GACxCA,EAAgBY,MAAMJ,EAAU,KAChCR,EAAgBa,OAChB,IAAIC,GAAOd,EAAgBe,aAAa3X,MAExC,OADA4W,GAAkB,KACXc,GAILE,EAA2B,WAE7B,GAEIC,GAFAC,EAASb,EAAsB,SAWnC,OARAa,GAAOC,MAAMC,QAAU,OACvBhB,EAAKiB,YAAYH,GAEjBA,EAAOI,IAAMjQ,OALJ,eAMT4P,EAAiBC,EAAOK,cAActK,SACtCgK,EAAeO,OACfP,EAAeL,MAAMJ,EAAU,sBAC/BS,EAAeJ,QACRI,EAAeQ,GASpBC,EAAkB,WACpB,IACE1B,EAAkB,GAAI2B,eAAc,YACpC,MAAO1U,IACTyU,EAAqC,mBAAZzK,UACrBA,SAAS2K,QAAU5B,EACjBW,EAA0BX,GAC1BgB,IACFL,EAA0BX,EAE9B,KADA,GAAI9U,GAASgV,EAAYhV,OAClBA,WAAiBwW,GAAyB,UAAExB,EAAYhV,GAC/D,OAAOwW,KAGTvB,GAAWI,IAAY,EAKvBrY,EAAOD,QAAUmB,OAAO6F,QAAU,SAAgBoL,EAAGwH,GACnD,GAAIlD,EAQJ,OAPU,QAANtE,GACFjC,EAA0B,UAAI6B,EAASI,GACvCsE,EAAS,GAAIvG,GACbA,EAA0B,UAAI,KAE9BuG,EAAO4B,GAAYlG,GACdsE,EAAS+C,QACM/Q,KAAfkR,EAA2BlD,EAASsB,EAAuB3V,EAAEqU,EAAQkD,K5D2kExE,SAAU3Z,EAAQD,EAASM,GAEjC,Y6D7pEA,IAAIuZ,GAAkB,EAAQ,IAC1BC,EAAmB,EAAQ,KAC3BC,EAAY,EAAQ,IACpBC,EAAsB,EAAQ,IAC9B5Y,EAAiB,EAAQ,IAAuCiB,EAChE4X,EAAiB,EAAQ,KACzBC,EAAU,EAAQ,IAClBrI,EAAc,EAAQ,IAGtBsI,EAAmBH,EAAoBI,IACvCC,EAAmBL,EAAoBM,UAFtB,iBAcrBra,GAAOD,QAAUia,EAAehU,MAAO,QAAS,SAAUsU,EAAUC,GAClEL,EAAiB9Z,MACf8W,KAhBiB,iBAiBjBrT,OAAQ+V,EAAgBU,GACxB3Q,MAAO,EACP4Q,KAAMA,KAIP,WACD,GAAIC,GAAQJ,EAAiBha,MACzByD,EAAS2W,EAAM3W,OACf0W,EAAOC,EAAMD,KACb5Q,EAAQ6Q,EAAM7Q,OAClB,QAAK9F,GAAU8F,GAAS9F,EAAOb,QAC7BwX,EAAM3W,WAAS4E,IACNlE,UAAOkE,GAAWgS,MAAM,IAEvB,QAARF,GAAyBhW,MAAOoF,EAAO8Q,MAAM,GACrC,UAARF,GAA2BhW,MAAOV,EAAO8F,GAAQ8Q,MAAM,IAClDlW,OAAQoF,EAAO9F,EAAO8F,IAAS8Q,MAAM,IAC7C,SAKH,IAAIC,GAASZ,EAAUa,UAAYb,EAAU9T,KAQ7C,IALA6T,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,YAGZI,GAAWrI,GAA+B,WAAhB8I,EAAO3Z,KAAmB,IACvDI,EAAeuZ,EAAQ,QAAUnW,MAAO,WACxC,MAAOQ,M7DoqEH,SAAU/E,EAAQD,EAASM,G8DhuEjC,GAAI8V,GAAwB,EAAQ,KAChChV,EAAiB,EAAQ,IAAuCiB,EAChEI,EAA8B,EAAQ,IACtCC,EAAS,EAAQ,IACjB4D,EAAW,EAAQ,KACnBgQ,EAAkB,EAAQ,GAE1BC,EAAgBD,EAAgB,cAEpCrW,GAAOD,QAAU,SAAUgI,EAAI6S,EAAK7W,EAAQ8W,GAC1C,GAAI9S,EAAI,CACN,GAAIlE,GAASE,EAASgE,EAAKA,EAAGpG,SACzBc,GAAOoB,EAAQyS,IAClBnV,EAAe0C,EAAQyS,GAAiBlV,cAAc,EAAMmD,MAAOqW,IAEjEC,IAAe1E,GACjB3T,EAA4BqB,EAAQ,WAAYwC,M9D0uEhD,SAAUrG,EAAQD,EAASM,G+D1vEjC,GAAI0B,GAAS,EAAQ,EAErB/B,GAAOD,QAAUgC,EAAO+Y,S/DiwElB,SAAU9a,EAAQD,EAASM,GgEnwEjC,EAAQ,GACR,IAAI0a,GAAe,EAAQ,KACvBhZ,EAAS,EAAQ,GACjB6Q,EAAU,EAAQ,IAClBpQ,EAA8B,EAAQ,IACtCsX,EAAY,EAAQ,IACpBzD,EAAkB,EAAQ,GAE1BC,EAAgBD,EAAgB,cAEpC,KAAK,GAAI2E,KAAmBD,GAAc,CACxC,GAAIE,GAAalZ,EAAOiZ,GACpBE,EAAsBD,GAAcA,EAAWtZ,SAC/CuZ,IAAuBtI,EAAQsI,KAAyB5E,GAC1D9T,EAA4B0Y,EAAqB5E,EAAe0E,GAElElB,EAAUkB,GAAmBlB,EAAU9T,QhE2wEnC,SAAUhG,EAAQ6E,EAAqBxE,GAE7C,YiE1xEe,SAASqa,GAAO9V,GAI7B,IAAK,GAHDsK,GAAQ,YAAKtK,GACb5B,EAASkM,EAAMlM,OACf0X,EAAS1U,MAAMhD,GACVxC,EAAI,EAAGA,EAAIwC,EAAQxC,IAC1Bka,EAAOla,GAAKoE,EAAIsK,EAAM1O,GAExB,OAAOka,GAVT,mBjEgzEM,SAAU1a,EAAQ6E,EAAqBxE,GAE7C,YkE5yEe,SAAS8a,GAAQC,EAAOC,EAAOC,EAAQC,GAEpD,GADAA,EAASA,MACJF,GAAmB,IAAVA,GAEP,GAAIA,GAAS,EAClB,MAAOE,GAAOC,OAAOJ,OAFrBC,GAAQI,GAKV,KAAK,GADDC,GAAMH,EAAOvY,OACRxC,EAAI,EAAGwC,EAAS,YAAUoY,GAAQ5a,EAAIwC,EAAQxC,IAAK,CAC1D,GAAI+D,GAAQ6W,EAAM5a,EAClB,IAAI,YAAY+D,KAAW,YAAQA,IAAU,YAAYA,IAEvD,GAAI8W,EAAQ,EACVF,EAAQ5W,EAAO8W,EAAQ,EAAGC,EAAQC,GAClCG,EAAMH,EAAOvY,WAGb,KADA,GAAI2Y,GAAI,EAAGC,EAAMrX,EAAMvB,OAChB2Y,EAAIC,GAAKL,EAAOG,KAASnX,EAAMoX,SAE9BL,KACVC,EAAOG,KAASnX,GAGpB,MAAOgX,GA7BT,4ClE21EM,SAAUvb,EAAQ6E,EAAqBxE,GAE7C,YmEx1Ee,SAASwb,GAAIjX,EAAKmE,EAAUF,GACzCE,EAAW,YAAGA,EAAUF,EAIxB,KAAK,GAHDqG,IAAS,YAAYtK,IAAQ,YAAKA,GAClC5B,GAAUkM,GAAStK,GAAK5B,OACxB8Y,EAAU9V,MAAMhD,GACX2G,EAAQ,EAAGA,EAAQ3G,EAAQ2G,IAAS,CAC3C,GAAIoS,GAAa7M,EAAQA,EAAMvF,GAASA,CACxCmS,GAAQnS,GAASZ,EAASnE,EAAImX,GAAaA,EAAYnX,GAEzD,MAAOkX,GAdT,mCnEs3EM,SAAU9b,EAAQD,EAASM,GAEjC,cAC4B,SAAS0B,GAErC,GAAI4C,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KAEtD6J,EAAUvF,EAAuBtE,EAAoB,KAErD2b,EAAOrX,EAAuBtE,EAAoB,KAElD6O,EAAQvK,EAAuBtE,EAAoB,MAEnD4b,EAAatX,EAAuBtE,EAAoB,KAExD6b,EAAWvX,EAAuBtE,EAAoB,KAEtD8b,EAASxX,EAAuBtE,EAAoB,KoEz4ElDwJ,EAAIO,EAAQ,GACZgS,EAAOhS,EAAQ,KACfiS,EAAQjS,EAAQ,IACtB,EAAgCA,EAAQ,IAAhC+F,EAAR,EAAQA,SAAUO,EAAlB,EAAkBA,UACZ/D,EAAUvC,EAAQ,KACxB,EAAwCA,EAAQ,IAAxCkS,EAAR,EAAQA,YAAaC,EAArB,EAAqBA,eAEfhS,EAAKxI,EAAOwI,MAGlBA,GAAGkB,SACDoB,cACArB,cAAc,EACdM,WAAY,KACZ0Q,SAAU,KACVlP,eAAgB,KAGlB,IAAMmP,GAAmB,oBAAH,OAAuB9P,EAG7CpC,GAAGwB,eACDC,UAAWyQ,EACXC,kBAAmB,MAGrBH,EAAeI,GAAG,eAAgB,SAAAC,GAChC,GAAIC,GAAKJ,CACT,IAAIG,EACF,GAAIA,EAAa5Q,UACf6Q,EAAKD,EAAa5Q,cACb,CACL,GAAI8Q,GAAWF,EAAa7b,IACxB6b,GAAajQ,UACfmQ,GAAY,IAAJ,OAAQF,EAAajQ,UAE3BiQ,EAAaG,QACfD,GAAY,KAAJ,OAASF,EAAaG,QAEhCF,GAAM,KAAJ,OAASC,EAAT,KAGNvS,EAAGwB,cAAcC,UAAY6Q,IAe/BtS,EAAGyS,WAAa,SAAS1a,GACvB,IAAKiI,EAAGgB,cACN,KAAM,IAAIuB,OAAM,kDAKlB,IAHKxK,IACHA,EAAO,KAEJuH,EAAEoT,SAAS3a,GACd,KAAM,IAAIwK,OAAM,yDAKlB,OAHgB,MAAZxK,EAAK,KACPA,EAAOA,EAAK4a,UAAU,IAEjB,MAAQ3S,EAAGgB,cAAgB,IAAMjJ,GAQ1CiI,EAAG4S,gBAAkB,KACrB5S,EAAG6S,mBAAqB,WAEtB,GAAI7S,EAAG4S,gBACL,MAAO,WAAQlR,QAAQ1B,EAAG4S,gBAI5B,IAAM7a,GAAOiI,EAAGyS,WAAW,iBAC3B,OAAOzS,GAAG8S,aAAaC,aAAahb,GAAM4J,KAAK,SAAAiR,GAE7C,MADA5S,GAAG4S,gBAAkBA,EAChB5S,EAAG4S,gBAODA,GALL5S,EAAG4S,gBAAkBA,EAAkBf,IAChC7R,EAAG8S,aACPE,aAAajb,EAAM6a,GACnBjR,KAAK,iBAAMiR,SAMpB5S,EAAGiT,gBAAkB,KACrBjT,EAAGkT,uBAAyB,WAA4C,GAA3Cnb,GAA2C,uDAApCiI,EAAGyS,WAAW,kBAC1CU,EAAkBnT,EAAGiT,gBAAkBpB,GAC7C,OAAO7R,GAAG8S,aACPE,aAAajb,EAAMob,GACnBxR,KAAK,iBAAMwR,MAEhBnT,EAAGoT,mBAAqB,WAEtB,GAAIpT,EAAGiT,gBACL,MAAO,WAAQvR,QAAQ1B,EAAGiT,gBAI5B,IAAMlb,GAAOiI,EAAGyS,WAAW,iBAC3B,OAAOzS,GAAG8S,aAAaC,aAAahb,GAAM4J,KAAK,SAAAsR,GAM7C,MALAjT,GAAGiT,gBAAkBA,EAChBjT,EAAGiT,kBAENA,EAAkBjT,EAAGkT,uBAAuBnb,IAEvCkb,KAIXjT,EAAGqT,WAAalN,EAGhBnG,EAAGsT,QAAU,SAASxN,EAAYyN,GAChC,GAAIvN,GAAQJ,EAAS/P,KAAMiQ,EAAYyN,EAEvC,OADAvN,GAAMjG,OAASlK,KAAKkK,OACbiG,GAaThG,EAAGwT,QAAU,SAASxZ,EAAOyZ,EAAaC,GAA8B,GAAbC,KAAa,wDACtE,IAAI3Z,YAAiBgG,GAAGrJ,OAAQ,CAC9B,GAAI+c,EACF,KAAM,IAAInR,OAAM,8BAElB,OAAKkR,KAAenU,EAAE6F,QAAQsO,EAAazZ,IAAWA,EAAM4Z,SAGrD5Z,EAAM6Z,aAAY,aAAAJ,GAAW,KAAXA,EAAmBzZ,GAAQ2Z,GAF3C3Z,EAAM8Z,aAIjB,GAAI9Z,YAAiBgG,GAAG+T,IACtB,MAAO/Z,GAAMyF,QAEf,IAAIH,EAAE0U,OAAOha,GACX,MAAO2Z,IAASM,OAAQ,OAAQC,IAAKla,EAAMyF,UAAazF,EAAMyF,QAEhE,IAAIzF,YAAiBgG,GAAGmU,SACtB,MAAOna,GAAMyF,QAEf,IAAIH,EAAElD,QAAQpC,GACZ,OAAO,aAAAsF,GAAC,KAADA,EAAMtF,EAAO,SAAS8K,GAC3B,MAAO9E,GAAGwT,QAAQ1O,EAAG2O,EAAaC,EAAiBC,IAGvD,IAAIrU,EAAE8U,SAASpa,GACb,MAAOA,GAAMrB,MAEf,IAAIqB,YAAiBgG,GAAGqU,SACtB,MAAOra,GAAMyF,QAEf,IAAIzF,YAAiBgG,GAAGsU,GACtB,MAAOta,GAAMyF,QAEf,IAAIzF,YAAiBgG,GAAGuU,KAAM,CAC5B,IAAKva,EAAMgJ,QAAUhJ,EAAMwa,GACzB,KAAM,IAAIjS,OAAM,sDAElB,OAAOvI,GAAM6Z,YAAYJ,EAAaE,GAExC,MAAIrU,GAAEZ,SAAS1E,GACNsF,EAAEmV,UAAUza,EAAO,SAAC0a,EAAGC,GAAJ,MACxB3U,GAAGwT,QAAQkB,EAAGjB,EAAaC,EAAiBC,KAGzC3Z,GAOTgG,EAAG4U,QAAU,SAAS5a,EAAOjB,GAC3B,IAAKuG,EAAEZ,SAAS1E,IAAUsF,EAAE0U,OAAOha,GACjC,MAAOA,EAET,IAAIsF,EAAElD,QAAQpC,GACZ,OAAO,aAAAsF,GAAC,KAADA,EAAMtF,EAAO,SAAA0a,GAAC,MAAI1U,GAAG4U,QAAQF,IAEtC,IAAI1a,YAAiBgG,GAAGrJ,OACtB,MAAOqD,EAET,IAAIA,YAAiBgG,GAAGuU,KACtB,MAAOva,EAET,IAAIA,YAAiBgG,GAAGsU,GACtB,MAAOta,EAET,IAAIA,YAAiBgG,GAAGmU,SACtB,MAAOna,EAET,IAAIA,YAAiBgG,GAAG+T,IACtB,MAAO/Z,EAET,IAAY,QAARjB,EACF,MAAO,IAAIiH,GAAG+T,IAAI/Z,EAEpB,IAAIA,EAAM6a,KACR,MAAO7U,GAAGsU,GAAGM,QAAQ5a,EAEvB,IAAIgK,EACJ,IAAqB,YAAjBhK,EAAMia,OAAsB,CAC9BjQ,EAAYhK,EAAMgK,SAClB,IAAI8Q,GAAU9U,EAAGrJ,OAAOoe,QAAQ/Q,EAChC,KAAI,aAAYhK,GAAOvB,OAAS,EAAG,CACjC,GAAMic,GAAIpV,EAAE0V,MAAMhb,SACX0a,GAAET,aACFS,GAAE1Q,UACT8Q,EAAQG,aAAaP,GAAG,OAExBI,GAAQG,cAAehR,SAAUjK,EAAMiK,WAAY,EAErD,OAAO6Q,GAET,GAAqB,WAAjB9a,EAAMia,OAAqB,CAE7BjQ,EAAYhK,EAAMgK,SAClB,IAAM0Q,GAAIpV,EAAE0V,MAAMhb,SACX0a,GAAET,aACFS,GAAE1Q,SACT,IAAI9M,GAAS8I,EAAGrJ,OAAOoe,QAAQ/Q,EAE/B,OADA9M,GAAO+d,aAAaP,GAAG,GAChBxd,EAET,GAAqB,SAAjB8C,EAAMia,OACR,MAAOjU,GAAGqT,WAAWrZ,EAAMka,IAE7B,IAAqB,aAAjBla,EAAMia,OACR,MAAO,IAAIjU,GAAGmU,UACZe,SAAUlb,EAAMkb,SAChBC,UAAWnb,EAAMmb,WAGrB,IAAqB,aAAjBnb,EAAMia,OAAuB,CAC/B,IAAKlb,EAAK,KAAM,IAAIwJ,OAAM,kCAC1B,IAAI6S,GAAW,GAAIpV,GAAGqU,SAAS,KAAMtb,EAErC,OADAqc,GAASC,gBAAkBrb,EAAMgK,UAC1BoR,EAET,GAAqB,SAAjBpb,EAAMia,OAAmB,CAC3B,GAAIqB,GAAO,GAAItV,GAAGuU,KAAKva,EAAMxD,MACvBke,EAAIpV,EAAE0V,MAAMhb,EAGlB,cAFO0a,GAAET,OACTqB,EAAKL,aAAaP,GACXY,EAET,MAAOhW,GAAEmV,UAAUza,EAAOgG,EAAG4U,UAU/B5U,EAAGuV,UAAYvV,EAAG4U,QASlB5U,EAAGwD,MAAQ,SAAAgS,GAAI,MAAIxV,GAAGuV,UAAUhS,KAAKC,MAAMgS,KAO3CxV,EAAGyV,UAAY,SAAAnc,GAAM,OAAI,aAAe0G,EAAGwT,QAAQla,MAAY,GAAO,KAEtE0G,EAAG0V,qBAAuB,SAAS1b,GACjC,GAAI2b,GAAiB,SAASze,GAK5B,MAJIA,IAAUA,EAAO2c,cACnB3c,EAASA,EAAO2c,iBAGXvU,EAAEmV,UAAUvd,EAAQ,SAAS8C,GAClC,MAAOgG,GAAGwT,QAAQxZ,QAItB,OAAIsF,GAAElD,QAAQpC,IACL,aAAAA,GAAK,KAALA,EAAU,SAAS9C,GACxB,MAAOye,GAAeze,KAGjBye,EAAe3b,IAI1BgG,EAAG4V,WAAatW,EAAEsN,KAWlB5M,EAAG6V,UAAY,SAAS3e,EAAQ8H,EAAM8W,GACpC,GAAI5e,YAAkB8I,GAAGrJ,OAAQ,CAE/B,GADAmf,EAAOA,OACH,aAAAxW,GAAC,KAADA,EAAUwW,EAAM5e,IAAW,EAE7B,MAIF,OAFA4e,GAAKla,KAAK1E,GACV8I,EAAG6V,UAAU3e,EAAO6e,WAAY/W,EAAM8W,GAC/B9W,EAAK9H,GAEd,MAAIA,aAAkB8I,GAAGqU,UAAYnd,YAAkB8I,GAAGuU,KAGjDvV,EAAK9H,GAEVoI,EAAElD,QAAQlF,IACZoI,EAAEsN,KAAK1V,EAAQ,SAAS8O,EAAO5G,GAC7B,GAAI4W,GAAWhW,EAAG6V,UAAU7P,EAAOhH,EAAM8W,EACrCE,KACF9e,EAAOkI,GAAS4W,KAGbhX,EAAK9H,IAEVoI,EAAEZ,SAASxH,IACb8I,EAAGiW,MAAM/e,EAAQ,SAAS8O,EAAOjN,GAC/B,GAAIid,GAAWhW,EAAG6V,UAAU7P,EAAOhH,EAAM8W,EACrCE,KACF9e,EAAO6B,GAAOid,KAGXhX,EAAK9H,IAEP8H,EAAK9H,IASd8I,EAAGkW,YAAclW,EAAGiW,MAAQ,SAAS5b,EAAK8b,GACpC7W,EAAEZ,SAASrE,GACbiF,EAAEsN,MAAK,aAAAtN,GAAC,KAADA,EAAOjF,GAAM,SAAStB,GAC3Bod,EAAS9b,EAAItB,GAAMA,KAGrBuG,EAAEsN,KAAKvS,EAAK8b,IAQhBnW,EAAG8R,OAIDsE,OAAQ,cAACC,GAAD,uDAAc,YAAd,OAA+BvE,GAAMsE,OAAOC,IAIpDC,QAASxE,EAAMwE,SASjBtW,EAAG+R,YAAcA,EAEjBtc,EAAOD,QAAUwK,IpEk/EY5J,KAAKZ,EAASM,EAAoB,OAIzD,SAAUL,EAAQD,EAASM,GqE14FjCL,EAAOD,QAAU,EAAQ,MrEg5FnB,SAAUC,EAAQD,EAASM,GAEjC,YsEh5FA,SAASygB,GAAQlc,GAAwT,OAAtOkc,EAArD,kBAAXrb,SAAoD,gBAApBA,QAAOsb,SAAmC,SAAiBnc,GAAO,aAAcA,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXa,SAAyBb,EAAI4L,cAAgB/K,QAAUb,IAAQa,OAAO9D,UAAY,eAAkBiD,KAAyBA,GA2BxV,QAASoc,KAIP,QAAsB,mBAAX9Y,UAA0BA,OAAOuP,SAAoC,aAAxBvP,OAAOuP,QAAQP,OAAuBhP,OAAOuP,QAAQwJ,UAKpF,mBAAdC,aAA6BA,UAAUlV,YAAakV,UAAUlV,UAAU2C,cAAc6I,MAAM,4BAM5E,mBAAbzI,WAA4BA,SAASoS,iBAAmBpS,SAASoS,gBAAgBlI,OAASlK,SAASoS,gBAAgBlI,MAAMmI,kBACrH,mBAAXlZ,SAA0BA,OAAOyD,UAAYzD,OAAOyD,QAAQ0V,SAAWnZ,OAAOyD,QAAQ2V,WAAapZ,OAAOyD,QAAQ4V,QAEpG,mBAAdL,YAA6BA,UAAUlV,WAAakV,UAAUlV,UAAU2C,cAAc6I,MAAM,mBAAqBgK,SAASC,OAAOC,GAAI,KAAO,IAC9H,mBAAdR,YAA6BA,UAAUlV,WAAakV,UAAUlV,UAAU2C,cAAc6I,MAAM,uBASrG,QAASmK,GAAW/X,GAGlB,GAFAA,EAAK,IAAMxJ,KAAK4gB,UAAY,KAAO,IAAM5gB,KAAKsI,WAAatI,KAAK4gB,UAAY,MAAQ,KAAOpX,EAAK,IAAMxJ,KAAK4gB,UAAY,MAAQ,KAAO,IAAMhhB,EAAOD,QAAQ6hB,SAASxhB,KAAKyhB,MAEpKzhB,KAAK4gB,UAAV,CAIA,GAAIngB,GAAI,UAAYT,KAAK0hB,KACzBlY,GAAKmY,OAAO,EAAG,EAAGlhB,EAAG,iBAIrB,IAAI8I,GAAQ,EACRqY,EAAQ,CACZpY,GAAK,GAAGqY,QAAQ,cAAe,SAAUzK,GACzB,OAAVA,IAIJ7N,IAEc,OAAV6N,IAGFwK,EAAQrY,MAGZC,EAAKmY,OAAOC,EAAO,EAAGnhB,IAUxB,QAASqhB,KACP,GAAIC,EAIJ,OAA6E,YAAlD,mBAAZxW,SAA0B,YAAcmV,EAAQnV,WAA0BA,QAAQuW,MAAQC,EAAWxW,SAASuW,IAAIlgB,MAAMmgB,EAAUpf,WAUnJ,QAASqf,GAAKxB,GACZ,IACMA,EACF7gB,EAAQsiB,QAAQC,QAAQ,QAAS1B,GAEjC7gB,EAAQsiB,QAAQE,WAAW,SAE7B,MAAOxd,KAYX,QAASyd,KACP,GAAIC,EAEJ,KACEA,EAAI1iB,EAAQsiB,QAAQK,QAAQ,SAC5B,MAAO3d,IAST,OAJK0d,GAAwB,mBAAZhL,UAA2B,OAASA,WACnDgL,EAAIhL,QAAQkL,IAAIC,OAGXH,EArIT1iB,EAAQmiB,IAAMA,EACdniB,EAAQ4hB,WAAaA,EACrB5hB,EAAQqiB,KAAOA,EACfriB,EAAQyiB,KAAOA,EACfziB,EAAQihB,UAAYA,EACpBjhB,EAAQsiB,QA8IR,WACE,IAGE,MAAOhF,cACP,MAAOtY,QA9IXhF,EAAQ8iB,QAAU,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAmJ30B7iB,EAAOD,QAAU,EAAQ,KAAYA,GACpBC,EAAOD,QAAQ+iB,WAKrBnH,EAAI,SAAUsD,GACvB,IACE,MAAOnR,MAAKkS,UAAUf,GACtB,MAAOla,GACP,MAAO,+BAAiCA,EAAM4I,WtE25F5C,SAAU3N,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C6O,EAAQvK,EAAuBtE,EAAoB,KuEllGjDwJ,EAAIO,EAAQ,GACZ2Y,EAAe3Y,EAAQ,KAC7B,EAAqBA,EAAQ,IAArB+F,EAAR,EAAQA,SAEF6S,EAAiB7S,EAAS4S,GAC9BvS,YAD4C,WAE1CuS,EAAa/gB,MAAM5B,MACnBA,KAAK6iB,cAEPC,WAL4C,SAKjCniB,GACT,GAAMoiB,GAAU/iB,KAAK6iB,UAAUliB,EAC/B,QAAgB0H,KAAZ0a,EACF,KAAM,IAAIrW,OAAJ,UAAa/L,EAAb,8BAER,OAAOoiB,IAET7G,YAZ4C,SAYhC8G,GAAa,UACvBvZ,GAAES,OAAOlK,KAAK6iB,UAAWG,IACzB,aAAAvZ,GAAC,KAADA,EAAOuZ,GAAalS,QAAQ,SAAAnQ,GAAI,MAAI,GAAKsiB,KAAKtiB,EAAMqiB,EAAYriB,SAI9Dwb,EAAiB,GAAIyG,EAE3BhjB,GAAOD,SACLmjB,WAAY3G,EAAe2G,WAAW3gB,KAAKga,GAC3CD,YAAaC,EAAeD,YAAY/Z,KAAKga,GAC7CA,mBvEimGI,SAAUvc,EAAQD,EAASM,GwE5nGjC,GAAI2E,GAAc,EAAQ,IAEtBC,EAAoBC,SAASvD,UAC7BK,EAAQiD,EAAkBjD,MAC1BrB,EAAOsE,EAAkBtE,IAG7BX,GAAOD,QAA4B,gBAAXujB,UAAuBA,QAAQthB,QAAUgD,EAAcrE,EAAK4B,KAAKP,GAAS,WAChG,MAAOrB,GAAKqB,MAAMA,EAAOe,cxEooGrB,SAAU/C,EAAQD,EAASM,GyE5oGjC,GAAI2I,GAAQ,EAAQ,EAEpBhJ,GAAOD,SAAWiJ,EAAM,WAEtB,GAAIua,GAAO,aAA8BhhB,MAEzC,OAAsB,kBAARghB,IAAsBA,EAAK3hB,eAAe,gBzEopGpD,SAAU5B,EAAQD,EAASM,G0E1pGjC,GAAIuR,GAAc,EAAQ,IACtBjR,EAAO,EAAQ,IACf6iB,EAA6B,EAAQ,KACrC7Q,EAA2B,EAAQ,IACnCiH,EAAkB,EAAQ,IAC1B5H,EAAgB,EAAQ,IACxBvP,EAAS,EAAQ,IACjBoP,EAAiB,EAAQ,KAGzBK,EAA4BhR,OAAOiB,wBAIvCpC,GAAQqC,EAAIwP,EAAcM,EAA4B,SAAkCC,EAAGC,GAGzF,GAFAD,EAAIyH,EAAgBzH,GACpBC,EAAIJ,EAAcI,GACdP,EAAgB,IAClB,MAAOK,GAA0BC,EAAGC,GACpC,MAAOrN,IACT,GAAItC,EAAO0P,EAAGC,GAAI,MAAOO,IAA0BhS,EAAK6iB,EAA2BphB,EAAG+P,EAAGC,GAAID,EAAEC,M1EkqG3F,SAAUpS,EAAQD,G2EtrGxB,GAAIqJ,GAAaC,SAIjBrJ,GAAOD,QAAU,SAAUgI,GACzB,OAAUU,IAANV,EAAiB,KAAMqB,GAAW,wBAA0BrB,EAChE,OAAOA,K3E8rGH,SAAU/H,EAAQD,EAASM,G4EpsGjC,GAAI4Z,GAAU,EAAQ,IAClBwJ,EAAQ,EAAQ,MAEnBzjB,EAAOD,QAAU,SAAUuD,EAAKiB,GAC/B,MAAOkf,GAAMngB,KAASmgB,EAAMngB,OAAiBmF,KAAVlE,EAAsBA,QACxD,eAAgB4B,MACjBwG,QAAS,SACT+W,KAAMzJ,EAAU,OAAS,SACzB0J,UAAW,4CACXC,QAAS,2DACT1gB,OAAQ,yC5E4sGJ,SAAUlD,EAAQD,EAASM,G6EttGjC,GAAIkC,GAAO,EAAQ,IACf5B,EAAO,EAAQ,IACfoR,EAAW,EAAQ,IACnBnD,EAAc,EAAQ,IACtBiV,EAAwB,EAAQ,KAChCC,EAAoB,EAAQ,IAC5B3b,EAAgB,EAAQ,IACxB4b,EAAc,EAAQ,KACtBC,EAAoB,EAAQ,IAC5BC,EAAgB,EAAQ,KAExB7a,EAAaC,UAEb6a,EAAS,SAAUC,EAAS1N,GAC9BrW,KAAK+jB,QAAUA,EACf/jB,KAAKqW,OAASA,GAGZ2N,EAAkBF,EAAOviB,SAE7B3B,GAAOD,QAAU,SAAUskB,EAAUC,EAAiBrhB,GACpD,GAKI8d,GAAUwD,EAAQ5a,EAAO3G,EAAQyT,EAAQ+N,EAAMC,EAL/C5M,EAAO5U,GAAWA,EAAQ4U,KAC1B6M,KAAgBzhB,IAAWA,EAAQyhB,YACnCC,KAAiB1hB,IAAWA,EAAQ0hB,aACpCC,KAAiB3hB,IAAWA,EAAQ2hB,aACpCzf,EAAK5C,EAAK+hB,EAAiBzM,GAG3BgN,EAAO,SAAUC,GAEnB,MADI/D,IAAUkD,EAAclD,EAAU,SAAU+D,GACzC,GAAIZ,IAAO,EAAMY,IAGtBC,EAAS,SAAUxgB,GACrB,MAAImgB,IACF3S,EAASxN,GACFqgB,EAAczf,EAAGZ,EAAM,GAAIA,EAAM,GAAIsgB,GAAQ1f,EAAGZ,EAAM,GAAIA,EAAM,KAChEqgB,EAAczf,EAAGZ,EAAOsgB,GAAQ1f,EAAGZ,GAG9C,IAAIogB,EACF5D,EAAWsD,MACN,CAEL,KADAE,EAASP,EAAkBK,IACd,KAAMjb,GAAWwF,EAAYyV,GAAY,mBAEtD,IAAIR,EAAsBU,GAAS,CACjC,IAAK5a,EAAQ,EAAG3G,EAAS8gB,EAAkBO,GAAWrhB,EAAS2G,EAAOA,IAEpE,IADA8M,EAASsO,EAAOV,EAAS1a,MACXxB,EAAcic,EAAiB3N,GAAS,MAAOA,EAC7D,OAAO,IAAIyN,IAAO,GAEtBnD,EAAWgD,EAAYM,EAAUE,GAInC,IADAC,EAAOzD,EAASyD,OACPC,EAAO9jB,EAAK6jB,EAAMzD,IAAWtG,MAAM,CAC1C,IACEhE,EAASsO,EAAON,EAAKlgB,OACrB,MAAOQ,GACPkf,EAAclD,EAAU,QAAShc,GAEnC,GAAqB,gBAAV0R,IAAsBA,GAAUtO,EAAcic,EAAiB3N,GAAS,MAAOA,GAC1F,MAAO,IAAIyN,IAAO,K7E8tGhB,SAAUlkB,EAAQD,G8E7xGxBC,EAAOD,QAAU,SAAU+E,GACzB,IACE,OAASC,OAAO,EAAOR,MAAOO,KAC9B,MAAOC,GACP,OAASA,OAAO,EAAMR,MAAOQ,M9EsyG3B,SAAU/E,EAAQD,EAASM,G+E1yGjC,GAAI0B,GAAS,EAAQ,GACjBijB,EAA2B,EAAQ,IACnC9iB,EAAa,EAAQ,GACrBG,EAAW,EAAQ,KACnB4iB,EAAgB,EAAQ,KACxB5O,EAAkB,EAAQ,GAC1B6O,EAAa,EAAQ,KACrBjL,EAAU,EAAQ,IAClB5C,EAAa,EAAQ,IAErB8N,EAAyBH,GAA4BA,EAAyBrjB,UAC9EyjB,EAAU/O,EAAgB,WAC1BgP,GAAc,EACdC,EAAiCpjB,EAAWH,EAAOwjB,uBAEnDC,EAA6BnjB,EAAS,UAAW,WACnD,GAAIojB,GAA6BR,EAAcD,GAC3CU,EAAyBD,IAA+Btc,OAAO6b,EAInE,KAAKU,GAAyC,KAAfrO,EAAmB,OAAO,CAEzD,IAAI4C,KAAakL,EAA8B,QAAKA,EAAgC,SAAI,OAAO,CAI/F,IAAI9N,GAAc,IAAM,cAAckM,KAAKkC,GAA6B,OAAO,CAE/E,IAAI1O,GAAU,GAAIiO,GAAyB,SAAU/Y,GAAWA,EAAQ,KACpE0Z,EAAc,SAAU7gB,GAC1BA,EAAK,aAA6B,eAEhC0L,EAAcuG,EAAQvG,cAG1B,OAFAA,GAAY4U,GAAWO,IACvBN,EAActO,EAAQ7K,KAAK,uBAAwCyZ,MAG3DD,GAA0BR,IAAeI,GAGnDtlB,GAAOD,SACLkK,YAAaub,EACbI,gBAAiBN,EACjBD,YAAaA,I/EkzGT,SAAUrlB,EAAQD,EAASM,GAEjC,YgF/1GA,IAAI0M,GAAS,EAAQ,KAAiCA,OAClD1G,EAAW,EAAQ,IACnB0T,EAAsB,EAAQ,IAC9BC,EAAiB,EAAQ,KAGzBE,EAAmBH,EAAoBI,IACvCC,EAAmBL,EAAoBM,UAFrB,kBAMtBL,GAAe7Q,OAAQ,SAAU,SAAUmR,GACzCJ,EAAiB9Z,MACf8W,KARkB,kBASlB2O,OAAQxf,EAASiU,GACjB3Q,MAAO,KAIR,WACD,GAGImc,GAHAtL,EAAQJ,EAAiBha,MACzBylB,EAASrL,EAAMqL,OACflc,EAAQ6Q,EAAM7Q,KAElB,OAAIA,IAASkc,EAAO7iB,QAAiBuB,UAAOkE,GAAWgS,MAAM,IAC7DqL,EAAQ/Y,EAAO8Y,EAAQlc,GACvB6Q,EAAM7Q,OAASmc,EAAM9iB,QACZuB,MAAOuhB,EAAOrL,MAAM,OhFu2GzB,SAAUza,EAAQ6E,EAAqBxE,GAE7C,YiFr4GA,qFAMW0lB,EACL,KAAoB,YAAa,GAAItf,UAAS,GAAIF,aAAY,KAEhEyf,EAAyB,mBAARC,MAAuB,YAAa,GAAIA,OjF+4GvD,SAAUjmB,EAAQ6E,EAAqBxE,GAE7C,YkFr5Ge,SAAS6lB,GAAQthB,GAC9B,IAAK,YAASA,GAAM,QACpB,IAAIiC,KACJ,KAAK,GAAIvD,KAAOsB,GAAKiC,EAAKV,KAAK7C,EAG/B,OADI,MAAY,YAAoBsB,EAAKiC,GAClCA,EAXT,mClFg7GM,SAAU7G,EAAQ6E,EAAqBxE,GAE7C,YmF76Ge,SAAS8lB,GAAO7jB,GAC7B,MAAO,KAAE6jB,OAAO7jB,GANlB,0BnFk8GM,SAAUtC,EAAQ6E,EAAqBxE,GAE7C,YoFj8Ge,SAAS+lB,GAAW7c,EAAMV,EAASC,GAChD,OAAgB,KAAZD,EAAoB,MAAOU,EAC/B,QAAoB,MAAZT,EAAmB,EAAIA,GAC7B,IAAK,GAAG,MAAO,UAASvE,GACtB,MAAOgF,GAAK5I,KAAKkI,EAAStE,GAG5B,KAAK,GAAG,MAAO,UAASA,EAAOoF,EAAO0c,GACpC,MAAO9c,GAAK5I,KAAKkI,EAAStE,EAAOoF,EAAO0c,GAE1C,KAAK,GAAG,MAAO,UAASC,EAAa/hB,EAAOoF,EAAO0c,GACjD,MAAO9c,GAAK5I,KAAKkI,EAASyd,EAAa/hB,EAAOoF,EAAO0c,IAGzD,MAAO,YACL,MAAO9c,GAAKvH,MAAM6G,EAAS9F,YAlB/B,OpF+9GM,SAAU/C,EAAQ6E,EAAqBxE,GAE7C,YqF79Ge,SAASkmB,GAAO3hB,EAAK4M,EAAW3I,GAC7C,GAAIiT,KAKJ,OAJAtK,GAAY,YAAGA,EAAW3I,GAC1B,YAAKjE,EAAK,SAASL,EAAOoF,EAAO6c,GAC3BhV,EAAUjN,EAAOoF,EAAO6c,IAAO1K,EAAQ3V,KAAK5B,KAE3CuX,EAVT,2BrFq/GM,SAAU9b,EAAQ6E,EAAqBxE,GAE7C,YsFl/Ge,SAASomB,GAAS7hB,EAAK8hB,EAAMC,EAAWC,GAGrD,MAFK,aAAYhiB,KAAMA,EAAM,YAAOA,KACZ,gBAAb+hB,IAAyBC,KAAOD,EAAY,GAChD,YAAQ/hB,EAAK8hB,EAAMC,IAAc,EAR1C,oCtF0gHM,SAAU3mB,EAAQD,EAASM,GuF1gHjC,GAAIuS,GAAU,EAAQ,GAKtB5S,GAAOD,QAAUiG,MAAMW,SAAW,SAAiBmB,GACjD,MAA4B,SAArB8K,EAAQ9K,KvFkhHX,SAAU9H,EAAQD,EAASM,GwFxhHjCL,EAAOD,QAAU,EAAQ,MxF8hHnB,SAAUC,EAAQD,EAASM,GyF9hHjC,GAAIwmB,GAAc,EAAQ,KACtBC,EAAW,EAAQ,GAIvB9mB,GAAOD,QAAU,SAAU+H,GACzB,GAAIxE,GAAMujB,EAAY/e,EAAU,SAChC,OAAOgf,GAASxjB,GAAOA,EAAMA,EAAM,KzFsiH/B,SAAUtD,EAAQD,EAASM,G0F7iHjC,GAAI6V,GAAa,EAAQ,IACrBhU,EAAa,EAAQ,GACrBiG,EAAgB,EAAQ,IACxB5C,EAAoB,EAAQ,KAE5BoM,EAAUzQ,MAEdlB,GAAOD,QAAUwF,EAAoB,SAAUwC,GAC7C,MAAoB,gBAANA,IACZ,SAAUA,GACZ,GAAIgf,GAAU7Q,EAAW,SACzB,OAAOhU,GAAW6kB,IAAY5e,EAAc4e,EAAQplB,UAAWgQ,EAAQ5J,M1FqjHnE,SAAU/H,EAAQD,EAASM,G2FhkHjC,GAAIoC,GAAS,EAAQ,IACjBP,EAAa,EAAQ,GACrBkG,EAAW,EAAQ,IACnBgQ,EAAY,EAAQ,IACpB4O,EAA2B,EAAQ,KAEnC3O,EAAWD,EAAU,YACrBzG,EAAUzQ,OACV+lB,EAAkBtV,EAAQhQ,SAK9B3B,GAAOD,QAAUinB,EAA2BrV,EAAQuV,eAAiB,SAAU/U,GAC7E,GAAI1Q,GAAS2G,EAAS+J,EACtB,IAAI1P,EAAOhB,EAAQ4W,GAAW,MAAO5W,GAAO4W,EAC5C,IAAI7H,GAAc/O,EAAO+O,WACzB,OAAItO,GAAWsO,IAAgB/O,YAAkB+O,GACxCA,EAAY7O,UACZF,YAAkBkQ,GAAUsV,EAAkB,O3FwkHnD,SAAUjnB,EAAQD,EAASM,G4F3lHjC,GAAI+E,GAAS,EAAQ,IACjBC,EAAM,EAAQ,KAEdwB,EAAOzB,EAAO,OAElBpF,GAAOD,QAAU,SAAUuD,GACzB,MAAOuD,GAAKvD,KAASuD,EAAKvD,GAAO+B,EAAI/B,M5FmmHjC,SAAUtD,EAAQD,EAASM,G6FxmHjC,GAAI4B,GAAc,EAAQ,GACtB8P,EAAW,EAAQ,IACnBoV,EAAqB,EAAQ,IAMjCnnB,GAAOD,QAAUmB,OAAOkmB,iBAAmB,gBAAoB,WAC7D,GAEIC,GAFAC,GAAiB,EACjB/D,IAEJ,KAEE8D,EAASplB,EAAYf,OAAOiB,yBAAyBjB,OAAOS,UAAW,aAAawY,KACpFkN,EAAO9D,MACP+D,EAAiB/D,YAAgBvd,OACjC,MAAOjB,IACT,MAAO,UAAwBoN,EAAGjO,GAKhC,MAJA6N,GAASI,GACTgV,EAAmBjjB,GACfojB,EAAgBD,EAAOlV,EAAGjO,GACzBiO,EAAEoV,UAAYrjB,EACZiO,UAEL1J,K7FgnHA,SAAUzI,EAAQD,G8F1oHxBC,EAAOD,Y9FipHD,SAAUC,EAAQD,EAASM,G+FjpHjC,GAAIuS,GAAU,EAAQ,IAClB4U,EAAY,EAAQ,KACpB1N,EAAY,EAAQ,IACpBzD,EAAkB,EAAQ,GAE1BoR,EAAWpR,EAAgB,WAE/BrW,GAAOD,QAAU,SAAUgI,GACzB,OAAUU,IAANV,EAAiB,MAAOyf,GAAUzf,EAAI0f,IACrCD,EAAUzf,EAAI,eACd+R,EAAUlH,EAAQ7K,M/FypHnB,SAAU/H,EAAQD,EAASM,GgGnqHjC,GAaI8Z,GAAK7Y,EAAKuR,EAbV6U,EAAkB,EAAQ,KAC1B3lB,EAAS,EAAQ,GACjBE,EAAc,EAAQ,GACtBgH,EAAW,EAAQ,IACnBzG,EAA8B,EAAQ,IACtCC,EAAS,EAAQ,IACjB2C,EAAS,EAAQ,KACjBgT,EAAY,EAAQ,IACpBH,EAAa,EAAQ,IAGrB5O,EAAYtH,EAAOsH,UACnBse,EAAU5lB,EAAO4lB,QAGjBC,EAAU,SAAU7f,GACtB,MAAO8K,GAAI9K,GAAMzG,EAAIyG,GAAMoS,EAAIpS,OAG7BsS,EAAY,SAAUwN,GACxB,MAAO,UAAU9f,GACf,GAAIyS,EACJ,KAAKvR,EAASlB,KAAQyS,EAAQlZ,EAAIyG,IAAKmP,OAAS2Q,EAC9C,KAAMxe,GAAU,0BAA4Bwe,EAAO,YACnD,OAAOrN,IAIb,IAAIkN,GAAmBtiB,EAAOoV,MAAO,CACnC,GAAIiJ,GAAQre,EAAOoV,QAAUpV,EAAOoV,MAAQ,GAAImN,IAC5CG,EAAQ7lB,EAAYwhB,EAAMniB,KAC1BymB,EAAQ9lB,EAAYwhB,EAAM5Q,KAC1BmV,EAAQ/lB,EAAYwhB,EAAMtJ,IAC9BA,GAAM,SAAUpS,EAAIkgB,GAClB,GAAIF,EAAMtE,EAAO1b,GAAK,KAAM,IAAIsB,GAxBH,6BA2B7B,OAFA4e,GAASC,OAASngB,EAClBigB,EAAMvE,EAAO1b,EAAIkgB,GACVA,GAET3mB,EAAM,SAAUyG,GACd,MAAO+f,GAAMrE,EAAO1b,QAEtB8K,EAAM,SAAU9K,GACd,MAAOggB,GAAMtE,EAAO1b,QAEjB,CACL,GAAIogB,GAAQ/P,EAAU,QACtBH,GAAWkQ,IAAS,EACpBhO,EAAM,SAAUpS,EAAIkgB,GAClB,GAAIxlB,EAAOsF,EAAIogB,GAAQ,KAAM,IAAI9e,GAvCJ,6BA0C7B,OAFA4e,GAASC,OAASngB,EAClBvF,EAA4BuF,EAAIogB,EAAOF,GAChCA,GAET3mB,EAAM,SAAUyG,GACd,MAAOtF,GAAOsF,EAAIogB,GAASpgB,EAAGogB,OAEhCtV,EAAM,SAAU9K,GACd,MAAOtF,GAAOsF,EAAIogB,IAItBnoB,EAAOD,SACLoa,IAAKA,EACL7Y,IAAKA,EACLuR,IAAKA,EACL+U,QAASA,EACTvN,UAAWA,IhG2qHP,SAAUra,EAAQD,KAOlB,SAAUC,EAAQD,EAASM,GiGrvHjC,GAAIuS,GAAU,EAAQ,IAClB7Q,EAAS,EAAQ,EAErB/B,GAAOD,QAAqC,WAA3B6S,EAAQ7Q,EAAO0V,UjG4vH1B,SAAUzX,EAAQD,EAASM,GkG/vHjC,GAAI4B,GAAc,EAAQ,GACtB+G,EAAQ,EAAQ,GAChB9G,EAAa,EAAQ,GACrB0Q,EAAU,EAAQ,IAClBsD,EAAa,EAAQ,IACrB+O,EAAgB,EAAQ,KAExBmD,EAAO,aACPC,KACAC,EAAYpS,EAAW,UAAW,aAClCqS,EAAoB,2BACpBzjB,EAAO7C,EAAYsmB,EAAkBzjB,MACrC0jB,GAAuBD,EAAkBzjB,KAAKsjB,GAE9CK,EAAsB,SAAuB3gB,GAC/C,IAAK5F,EAAW4F,GAAW,OAAO,CAClC,KAEE,MADAwgB,GAAUF,EAAMC,EAAOvgB,IAChB,EACP,MAAO/C,GACP,OAAO,IAIP2jB,EAAsB,SAAuB5gB,GAC/C,IAAK5F,EAAW4F,GAAW,OAAO,CAClC,QAAQ8K,EAAQ9K,IACd,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,OAAO,EAExC,IAIE,MAAO0gB,MAAyB1jB,EAAKyjB,EAAmBtD,EAAcnd,IACtE,MAAO/C,GACP,OAAO,GAIX2jB,GAAoBjkB,MAAO,EAI3BzE,EAAOD,SAAWuoB,GAAatf,EAAM,WACnC,GAAI2f,EACJ,OAAOF,GAAoBA,EAAoB9nB,QACzC8nB,EAAoBvnB,UACpBunB,EAAoB,WAAcE,GAAS,KAC5CA,IACFD,EAAsBD,GlGswHrB,SAAUzoB,EAAQD,EAASM,GmGzzHjC,GAAI4B,GAAc,EAAQ,EAE1BjC,GAAOD,QAAUkC,KAAemE,QnGg0H1B,SAAUpG,EAAQ6E,EAAqBxE,GAE7C,YoG/zHe,SAASuoB,GAAQC,GAE9B,MADAA,GAAQ,eAAcA,GACf,SAASjkB,GACd,MAAO,aAAQA,EAAKikB,IARxB,6BpGu1HM,SAAU7oB,EAAQ6E,EAAqBxE,GAE7C,YqGz1HA,8BAQIyoB,EAAU,YAAc,SAASvf,EAAMwf,GACzC,GAAIC,GAAcF,EAAQE,YACtBC,EAAQ,WAGV,IAAK,GAFDC,GAAW,EAAGlmB,EAAS+lB,EAAU/lB,OACjC4G,EAAO5D,MAAMhD,GACRxC,EAAI,EAAGA,EAAIwC,EAAQxC,IAC1BoJ,EAAKpJ,GAAKuoB,EAAUvoB,KAAOwoB,EAAcjmB,UAAUmmB,KAAcH,EAAUvoB,EAE7E,MAAO0oB,EAAWnmB,UAAUC,QAAQ4G,EAAKzD,KAAKpD,UAAUmmB,KACxD,OAAO,aAAa3f,EAAM0f,EAAO7oB,KAAMA,KAAMwJ,GAE/C,OAAOqf,IAGTH,GAAQE,YAAc,IACP,OrGk2HT,SAAUhpB,EAAQ6E,EAAqBxE,GAE7C,YsGv3He,SAAS8oB,GAAMC,EAAUC,GACtC,MAAO,UAASzkB,EAAKmE,EAAUF,GAC7B,GAAI4N,GAAS4S,YAMb,OALAtgB,GAAW,YAAGA,EAAUF,GACxB,YAAKjE,EAAK,SAASL,EAAOoF,GACxB,GAAIrG,GAAMyF,EAASxE,EAAOoF,EAAO/E,EACjCwkB,GAAS3S,EAAQlS,EAAOjB,KAEnBmT,GAZX,2BtGk5HM,SAAUzW,EAAQD,EAASM,GAEjC,YuGn5HA,IAAI2R,GAAgB,EAAQ,IACxBU,EAAuB,EAAQ,IAC/BC,EAA2B,EAAQ,GAEvC3S,GAAOD,QAAU,SAAU0B,EAAQ6B,EAAKiB,GACtC,GAAI+kB,GAActX,EAAc1O,EAC5BgmB,KAAe7nB,GAAQiR,EAAqBtQ,EAAEX,EAAQ6nB,EAAa3W,EAAyB,EAAGpO,IAC9F9C,EAAO6nB,GAAe/kB,IvG25HvB,SAAUvE,EAAQD,EAASM,GwGn6HjC,GAAI2I,GAAQ,EAAQ,GAChBqN,EAAkB,EAAQ,GAC1BgB,EAAa,EAAQ,IAErB+N,EAAU/O,EAAgB,UAE9BrW,GAAOD,QAAU,SAAUwpB,GAIzB,MAAOlS,IAAc,KAAOrO,EAAM,WAChC,GAAIwgB,MACAhZ,EAAcgZ,EAAMhZ,cAIxB,OAHAA,GAAY4U,GAAW,WACrB,OAASqE,IAAK,IAE2B,IAApCD,EAAMD,GAAaG,SAASD,QxG46HjC,SAAUzpB,EAAQD,EAASM,GyG57HjC,GAAIkC,GAAO,EAAQ,IACfN,EAAc,EAAQ,GACtBuQ,EAAgB,EAAQ,KACxBpK,EAAW,EAAQ,IACnB0b,EAAoB,EAAQ,IAC5B6F,EAAqB,EAAQ,KAE7BxjB,EAAOlE,KAAekE,MAGtByjB,EAAe,SAAU/B,GAC3B,GAAIgC,GAAiB,GAARhC,EACTiC,EAAoB,GAARjC,EACZkC,EAAkB,GAARlC,EACVmC,EAAmB,GAARnC,EACXoC,EAAwB,GAARpC,EAChBqC,EAA2B,GAARrC,EACnBsC,EAAmB,GAARtC,GAAaoC,CAC5B,OAAO,UAAUG,EAAOC,EAAYxS,EAAMyS,GASxC,IARA,GAOI/lB,GAAOkS,EAPPtE,EAAI/J,EAASgiB,GACbjqB,EAAOqS,EAAcL,GACrBoY,EAAgBhoB,EAAK8nB,EAAYxS,GACjC7U,EAAS8gB,EAAkB3jB,GAC3BwJ,EAAQ,EACR5C,EAASujB,GAAkBX,EAC3B9lB,EAASgmB,EAAS9iB,EAAOqjB,EAAOpnB,GAAU8mB,GAAaI,EAAmBnjB,EAAOqjB,EAAO,OAAK3hB,GAE3FzF,EAAS2G,EAAOA,IAAS,IAAIwgB,GAAYxgB,IAASxJ,MACtDoE,EAAQpE,EAAKwJ,GACb8M,EAAS8T,EAAchmB,EAAOoF,EAAOwI,GACjC0V,GACF,GAAIgC,EAAQhmB,EAAO8F,GAAS8M,MACvB,IAAIA,EAAQ,OAAQoR,GACvB,IAAK,GAAG,OAAO,CACf,KAAK,GAAG,MAAOtjB,EACf,KAAK,GAAG,MAAOoF,EACf,KAAK,GAAGxD,EAAKtC,EAAQU,OAChB,QAAQsjB,GACb,IAAK,GAAG,OAAO,CACf,KAAK,GAAG1hB,EAAKtC,EAAQU,GAI3B,MAAO0lB,IAAiB,EAAIF,GAAWC,EAAWA,EAAWnmB,GAIjE7D,GAAOD,SAGLmR,QAAS0Y,EAAa,GAGtB/N,IAAK+N,EAAa,GAGlBrD,OAAQqD,EAAa,GAGrBY,KAAMZ,EAAa,GAGnBa,MAAOb,EAAa,GAGpBc,KAAMd,EAAa,GAGnBe,UAAWf,EAAa,GAGxBgB,aAAchB,EAAa,KzGo8HvB,SAAU5pB,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7CwqB,EAAWlmB,EAAuBtE,EAAoB,MAEtDyqB,EAAUnmB,EAAuBtE,EAAoB,MAErD2b,EAAOrX,EAAuBtE,EAAoB,KAElD6O,EAAQvK,EAAuBtE,EAAoB,MAEnD4b,EAAatX,EAAuBtE,EAAoB,KAExD6J,EAAUvF,EAAuBtE,EAAoB,K0G3hIzD,GADU+J,EAAQ,GACEA,EAAQ,MAApBiD,EAAR,EAAQA,QACFgP,EAAQjS,EAAQ,IAChB2gB,EAAe1O,EAAM,qBACrB2O,EAAoB3O,EAAM,2BAChC,EAAuBjS,EAAQ,IAAvB8Y,EAAR,EAAQA,WAEJ+H,EAAgB,EAEdvgB,EAAO,SAAC,GAQR,GAPJ/B,GAOI,EAPJA,OACA4E,EAMI,EANJA,IACAN,EAKI,EALJA,MACAC,EAII,EAJJA,KAII,IAHJhC,cAGI,YAFKggB,EAEL,EAFJ7d,QACA8d,EACI,EADJA,UAEA,IAAIle,EAAO,WACHme,GAAc,6CAAYne,IAAZ,OACb,SAAA3J,GAAO,MACJiB,EAAQ0I,EAAM3J,EACpB,QAAcmF,KAAVlE,EAAJ,CACA,GAAM0a,GAAqB,YAAjB,aAAO1a,IAAqB,aAAeA,GAASA,CAC9D,QAAO,EAAP,uBAAU8mB,mBAAmB/nB,GAA7B,aAAqC+nB,mBAAmBpM,QALxC,OAOV,SAAAqM,GAAE,MAAIA,KACbzb,KAAK,IACRtC,IAAM,EAAH,uBAAMA,EAAN,aAAa6d,GAGlB,GAAMG,GAAQN,GACdF,GACE,6BACAQ,EACA5iB,EACA4E,EACAN,EACAC,EACAhC,EAGF,IAAM8B,GAAUkW,EAAW,WACrBnM,EAAU/J,EAAQO,GAAO5E,SAAQuC,UAASgC,OAAMie,eACnDjf,KAAK,SAAA2B,GAQJ,GAPAkd,EACE,wBACAQ,EACA1d,EAAS2d,OACT3d,EAASX,MAAQW,EAASkS,KAC1BlS,EAAS4d,SAES,IAAhB5d,EAAS6d,GAAc,CACzB,GAAM3mB,GAAQ,GAAI+H,MAElB,MADA/H,GAAM8I,SAAWA,EACX9I,EAER,MAAO8I,GAASX,OAEjBM,MAAM,SAAAzI,GAwBL,KAvBIA,GAAM8I,WACHwO,EAAMsP,QAAQ,sBACjBX,EACE,6BACAO,EACA5iB,EACA4E,EACAN,EACAC,EACAhC,GAGJ8f,EACE,wBACAO,EACAxmB,EAAM8I,SAAS2d,OACfzmB,EAAM8I,SAASX,MAAQnI,EAAM8I,SAASkS,KACtChb,EAAM8I,SAAS4d,QAEjB1mB,EAAMoJ,WAAapJ,EAAM8I,SAAS2d,OAClCzmB,EAAM6I,aAAe7I,EAAM8I,SAASkS,KACpChb,EAAM8I,SAAW9I,EAAM8I,SAASX,MAE5BnI,GAEV,OAAOmmB,GAAO7d,EAAQ0J,EAASmU,GAAQnU,EAGzC/W,GAAOD,QAAU2K,G1GshIX,SAAU1K,EAAQD,EAASM,G2G9mIjCL,EAAOD,QAAU,EAAQ,M3GonInB,SAAUC,EAAQD,G4GpnIxB,GAAI6rB,EAGJA,GAAI,WACH,MAAOxrB,QAGR,KAECwrB,EAAIA,GAAK1mB,SAAS,mBAAoB,EAAG2mB,MAAM,QAC9C,MAAM7d,GAEc,gBAAX9F,UACT0jB,EAAI1jB,QAONlI,EAAOD,QAAU6rB,G5G2nIX,SAAU5rB,EAAQD,EAASM,G6G/oIjC,GAAI4B,GAAc,EAAQ,GACtB+G,EAAQ,EAAQ,GAChB4J,EAAU,EAAQ,IAElBjB,EAAUzQ,OACV4P,EAAQ7O,EAAY,GAAG6O,MAG3B9Q,GAAOD,QAAUiJ,EAAM,WAGrB,OAAQ2I,EAAQ,KAAKpK,qBAAqB,KACvC,SAAUQ,GACb,MAAsB,UAAf6K,EAAQ7K,GAAkB+I,EAAM/I,EAAI,IAAM4J,EAAQ5J,IACvD4J,G7GspIE,SAAU3R,EAAQD,EAASM,G8GpqIjC,GAAIsW,GAAY,EAAQ,GAIxB3W,GAAOD,QAAU,SAAU+rB,EAAG1Z,GAC5B,GAAI7I,GAAOuiB,EAAE1Z,EACb,OAAe,OAAR7I,MAAed,GAAYkO,EAAUpN,K9G4qIxC,SAAUvJ,EAAQD,EAASM,G+GlrIjC,GAAI0B,GAAS,EAAQ,GACjBgqB,EAAuB,EAAQ,KAG/BtI,EAAQ1hB,EADC,uBACiBgqB,EADjB,wBAGb/rB,GAAOD,QAAU0jB,G/GyrIX,SAAUzjB,EAAQD,EAASM,GgH/rIjC,GAAI4B,GAAc,EAAQ,GAEtB8c,EAAK,EACLiN,EAAUtkB,KAAKukB,SACf5lB,EAAWpE,EAAY,GAAIoE,SAE/BrG,GAAOD,QAAU,SAAUuD,GACzB,MAAO,eAAqBmF,KAARnF,EAAoB,GAAKA,GAAO,KAAO+C,IAAW0Y,EAAKiN,EAAS,MhHusIhF,SAAUhsB,EAAQD,EAASM,GiH9sIjC,GAAI0B,GAAS,EAAQ,GACjBkH,EAAW,EAAQ,IAEnB8F,EAAWhN,EAAOgN,SAElBmd,EAASjjB,EAAS8F,IAAa9F,EAAS8F,EAASod,cAErDnsB,GAAOD,QAAU,SAAUgI,GACzB,MAAOmkB,GAASnd,EAASod,cAAcpkB,QjHstInC,SAAU/H,EAAQD,EAASM,GkH9tIjC,GAAI+rB,GAAqB,EAAQ,KAC7BpU,EAAc,EAAQ,KAEtBC,EAAaD,EAAYwD,OAAO,SAAU,YAK9Czb,GAAQqC,EAAIlB,OAAOmrB,qBAAuB,SAA6Bla,GACrE,MAAOia,GAAmBja,EAAG8F,KlHsuIzB,SAAUjY,EAAQD,EAASM,GmH/uIjC,GAAIuZ,GAAkB,EAAQ,IAC1B0S,EAAkB,EAAQ,KAC1BxI,EAAoB,EAAQ,IAG5B8F,EAAe,SAAU2C,GAC3B,MAAO,UAAUnC,EAAOoC,EAAI7F,GAC1B,GAGIpiB,GAHA4N,EAAIyH,EAAgBwQ,GACpBpnB,EAAS8gB,EAAkB3R,GAC3BxI,EAAQ2iB,EAAgB3F,EAAW3jB,EAIvC,IAAIupB,GAAeC,GAAMA,GAAI,KAAOxpB,EAAS2G,GAG3C,IAFApF,EAAQ4N,EAAExI,OAEGpF,EAAO,OAAO,MAEtB,MAAMvB,EAAS2G,EAAOA,IAC3B,IAAK4iB,GAAe5iB,IAASwI,KAAMA,EAAExI,KAAW6iB,EAAI,MAAOD,IAAe5iB,GAAS,CACnF,QAAQ4iB,IAAgB,GAI9BvsB,GAAOD,SAGL0sB,SAAU7C,GAAa,GAGvB8C,QAAS9C,GAAa,KnHuvIlB,SAAU5pB,EAAQD,EAASM,GoHrxIjC,GAAIssB,GAAsB,EAAQ,KAE9BljB,EAAM/B,KAAK+B,IACXmjB,EAAMllB,KAAKklB,GAKf5sB,GAAOD,QAAU,SAAU4J,EAAO3G,GAChC,GAAI6pB,GAAUF,EAAoBhjB,EAClC,OAAOkjB,GAAU,EAAIpjB,EAAIojB,EAAU7pB,EAAQ,GAAK4pB,EAAIC,EAAS7pB,KpH6xIzD,SAAUhD,EAAQD,EAASM,GqHvyIjC,GAAIysB,GAAQ,EAAQ,IAIpB9sB,GAAOD,QAAU,SAAU+H,GACzB,GAAIilB,IAAUjlB,CAEd,OAAOilB,KAAWA,GAAqB,IAAXA,EAAe,EAAID,EAAMC,KrH+yIjD,SAAU/sB,EAAQD,GsHrzIxBC,EAAOD,SACL,cACA,iBACA,gBACA,uBACA,iBACA,WACA,YtH8zII,SAAUC,EAAQD,GuHr0IxBA,EAAQqC,EAAIlB,OAAOoW,uBvH60Ib,SAAUtX,EAAQD,EAASM,GwH90IjC,GAAI+rB,GAAqB,EAAQ,KAC7BpU,EAAc,EAAQ,IAK1BhY,GAAOD,QAAUmB,OAAO2F,MAAQ,SAAcsL,GAC5C,MAAOia,GAAmBja,EAAG6F,KxHs1IzB,SAAUhY,EAAQD,EAASM,GyH71IjC,GAAIgW,GAAkB,EAAQ,GAE1BC,EAAgBD,EAAgB,eAChCkN,IAEJA,GAAKjN,GAAiB,IAEtBtW,EAAOD,QAA2B,eAAjBoJ,OAAOoa,IzHo2IlB,SAAUvjB,EAAQD,G0H32IxBC,EAAOD,QAAU,c1Hk3IX,SAAUC,EAAQD,EAASM,G2Hl3IjC,GAAI4B,GAAc,EAAQ,GACtBC,EAAa,EAAQ,GACrBuhB,EAAQ,EAAQ,KAEhBuJ,EAAmB/qB,EAAYiD,SAASmB,SAGvCnE,GAAWuhB,EAAMwB,iBACpBxB,EAAMwB,cAAgB,SAAUld,GAC9B,MAAOilB,GAAiBjlB,KAI5B/H,EAAOD,QAAU0jB,EAAMwB,e3Hy3IjB,SAAUjlB,EAAQ6E,EAAqBxE,GAE7C,Y4Hx4IA,g9O5Hk1JM,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y6Hp1JA,YAEe,iBAAU,W7H21JnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y8Ht1JA,SAAS4sB,GAAeroB,GACtB,MAAc,OAAPA,GAAe,YAAWA,EAAIsoB,UAAY,YAActoB,EAAIuoB,QAVrE,qCAKIC,EAAa,YAAU,WAQX,SAAkBH,EAAiBG,G9Hy2J7C,SAAUptB,EAAQ6E,EAAqBxE,GAE7C,Y+Hx3JA,qBAGIgtB,EAAc,YAAU,cAI3B,WACMA,EAAYtqB,aACfsqB,EAAc,SAASzoB,GACrB,MAAO,aAAIA,EAAK,eAKP,O/Hg4JT,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YgIj5JA,aAGe,iBAAgB,ehIw5JzB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YiIr5JO,SAASitB,GAAgBC,GAC9B,GAAIvqB,GAAS,YAAUuqB,EACvB,OAAO,UAAS3oB,GACd,GAAW,MAAPA,EAAa,OAAO,CAExB,IAAIiC,GAAO,YAAQjC,EACnB,IAAI,YAAUiC,GAAO,OAAO,CAC5B,KAAK,GAAIrG,GAAI,EAAGA,EAAIwC,EAAQxC,IAC1B,IAAK,YAAWoE,EAAI2oB,EAAQ/sB,KAAM,OAAO,CAK3C,OAAO+sB,KAAYC,IAAmB,YAAW5oB,EAAI6oB,KArBzD,kIA2BIA,EAAc,UAEdC,GAAc,QAAS,UACvBC,GAAW,MAFD,MAEiB,OAIpBC,EAAaF,EAAWlS,OAAOiS,EAAaE,GACnDH,EAAiBE,EAAWlS,OAAOmS,GACnCE,GAAc,OAAOrS,OAAOkS,EAAYD,EAR9B,QjIk7JR,SAAUztB,EAAQ6E,EAAqBxE,GAE7C,YkI/8Je,SAASytB,GAAeC,EAAUC,GAC/C,MAAO,UAASppB,GACd,GAAI5B,GAASD,UAAUC,MAEvB,IADIgrB,IAAUppB,EAAM1D,OAAO0D,IACvB5B,EAAS,GAAY,MAAP4B,EAAa,MAAOA,EACtC,KAAK,GAAI+E,GAAQ,EAAGA,EAAQ3G,EAAQ2G,IAIlC,IAAK,GAHDzG,GAASH,UAAU4G,GACnB9C,EAAOknB,EAAS7qB,GAChBzC,EAAIoG,EAAK7D,OACJxC,EAAI,EAAGA,EAAIC,EAAGD,IAAK,CAC1B,GAAI8C,GAAMuD,EAAKrG,EACVwtB,QAAyB,KAAbppB,EAAItB,KAAiBsB,EAAItB,GAAOJ,EAAOI,IAG5D,MAAOsB,IAfX,OlIw+JM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YmI1+JA,qBAMe,iBAAe,MnIk/JxB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YoIz/Je,SAAS4tB,GAAQrpB,EAAKtC,GAEnC,IAAK,GADDU,GAASV,EAAKU,OACTxC,EAAI,EAAGA,EAAIwC,EAAQxC,IAAK,CAC/B,GAAW,MAAPoE,EAAa,MACjBA,GAAMA,EAAItC,EAAK9B,IAEjB,MAAOwC,GAAS4B,MAAM,GAPxB,OpIygKM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YqI1gKe,SAAS6tB,GAAS3pB,GAC/B,MAAOA,GAFT,OrIqhKM,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,YsIlhKe,SAASqB,GAASY,GAE/B,MADAA,GAAO,YAAOA,GACP,SAASsC,GACd,MAAO,aAAQA,EAAKtC,IARxB,4BtI0iKM,SAAUtC,EAAQ6E,EAAqBxE,GAE7C,YuI3iKe,KAAAyK,KAAA,gBACb,OAAO,GAAIA,OAAOC,YvImjKd,SAAU/K,EAAQ6E,EAAqBxE,GAE7C,YwItjKe,SAAS8tB,GAAO3c,GAC7B,MAAO,YACL,OAAQA,EAAUxP,MAAM5B,KAAM2C,YAHlC,OxImkKM,SAAU/C,EAAQ6E,EAAqBxE,GAE7C,YyIrkKA,aAGe,iBAA2B,IzI4kKpC,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y0I7kKe,SAAS+tB,GAAMxpB,EAAKtB,GACjC,MAAO,aAAIsB,EAAK,YAAStB,IAL3B,4B1IgmKM,SAAUtD,EAAQD,EAASM,GAEjC,Y2IjmKA,IAAI2I,GAAQ,EAAQ,EAEpBhJ,GAAOD,QAAU,SAAUwpB,EAAazhB,GACtC,GAAIa,MAAY4gB,EAChB,SAAS5gB,GAAUK,EAAM,WAEvBL,EAAOhI,KAAK,KAAMmH,GAAY,WAAc,MAAO,IAAM,O3I0mKvD,SAAU9H,EAAQD,EAASM,G4IjnKjCL,EAAOD,QAAU,EAAQ,M5IunKnB,SAAUC,EAAQD,EAASM,G6InnKjC,QAASygB,GAAQlc,GACf,yBAEA,OAAQ5E,GAAOD,QAAU+gB,EAAU,kBAAqBuN,IAAW,gBAAmBC,GAAmB,SAAU1pB,GACjH,aAAcA,IACZ,SAAUA,GACZ,MAAOA,IAAO,kBAAqBypB,IAAWzpB,EAAI4L,cAAgB6d,GAAWzpB,IAAQypB,EAAQ1sB,UAAY,eAAkBiD,IAC1H5E,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,QAAU+gB,EAAQlc,GAX5F,GAAIypB,GAAU,EAAQ,KAElBC,EAAmB,EAAQ,IAY/BtuB,GAAOD,QAAU+gB,EAAS9gB,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,S7I6nKzF,SAAUC,EAAQD,EAASM,G8I3oKjC,GAAIgW,GAAkB,EAAQ,EAE9BtW,GAAQqC,EAAIiU,G9IkpKN,SAAUrW,EAAQD,EAASM,G+IppKjCL,EAAOD,QAAU,EAAQ,M/I0pKnB,SAAUC,EAAQD,EAASM,GgJ1pKjCL,EAAOD,QAAU,EAAQ,MhJgqKnB,SAAUC,EAAQD,EAASM,GAEjC,YiJjqKA,IAAIkuB,MAA2BhnB,qBAE3BpF,EAA2BjB,OAAOiB,yBAGlCqsB,EAAcrsB,IAA6BosB,EAAsB5tB,MAAO8tB,EAAG,GAAK,EAIpF1uB,GAAQqC,EAAIosB,EAAc,SAA8B1C,GACtD,GAAInoB,GAAaxB,EAAyB/B,KAAM0rB,EAChD,SAASnoB,GAAcA,EAAWtC,YAChCktB,GjJwqKE,SAAUvuB,EAAQD,EAASM,GkJprKjC,GAAIiF,GAAgB,EAAQ,GAE5BtF,GAAOD,QAAUuF,IACXG,OAAOhB,MACkB,gBAAnBgB,QAAOsb,UlJ4rKb,SAAU/gB,EAAQD,EAASM,GmJjsKjC,GAAIuR,GAAc,EAAQ,IACtB5I,EAAQ,EAAQ,GAChBmjB,EAAgB,EAAQ,IAG5BnsB,GAAOD,SAAW6R,IAAgB5I,EAAM,WAEtC,MAEQ,IAFD9H,OAAOC,eAAegrB,EAAc,OAAQ,KACjD7qB,IAAK,WAAc,MAAO,MACzBuB,KnJysKC,SAAU7C,EAAQD,EAASM,GoJltKjC,GAAI2I,GAAQ,EAAQ,GAChB9G,EAAa,EAAQ,GAErBwsB,EAAc,kBAEdrsB,EAAW,SAAUssB,EAASC,GAChC,GAAIrqB,GAAQ2I,EAAK2hB,EAAUF,GAC3B,OAAOpqB,IAASuqB,GACZvqB,GAASwqB,IACT7sB,EAAW0sB,GAAa5lB,EAAM4lB,KAC5BA,IAGJC,EAAYxsB,EAASwsB,UAAY,SAAUhJ,GAC7C,MAAO1c,QAAO0c,GAAQ5D,QAAQyM,EAAa,KAAK/f,eAG9CzB,EAAO7K,EAAS6K,QAChB6hB,EAAS1sB,EAAS0sB,OAAS,IAC3BD,EAAWzsB,EAASysB,SAAW,GAEnC9uB,GAAOD,QAAUsC,GpJytKX,SAAUrC,EAAQD,EAASM,GqJ9uKjC,GAAIuR,GAAc,EAAQ,IACtB5I,EAAQ,EAAQ,EAIpBhJ,GAAOD,QAAU6R,GAAe5I,EAAM,WAEpC,MAGgB,KAHT9H,OAAOC,eAAe,aAA6B,aACxDoD,MAAO,GACPgO,UAAU,IACT5Q,arJsvKC,SAAU3B,EAAQD,EAASM,GsJhwKjC,GAAI2I,GAAQ,EAAQ,EAEpBhJ,GAAOD,SAAWiJ,EAAM,WACtB,QAASuQ,MAGT,MAFAA,GAAE5X,UAAU6O,YAAc,KAEnBtP,OAAOgmB,eAAe,GAAI3N,MAASA,EAAE5X,atJwwKxC,SAAU3B,EAAQD,EAASM,GuJ9wKjC,GAAI4B,GAAc,EAAQ,GACtBQ,EAAS,EAAQ,IACjBmX,EAAkB,EAAQ,IAC1B8S,EAAU,EAAQ,KAA+BA,QACjDzU,EAAa,EAAQ,IAErB9R,EAAOlE,KAAekE,KAE1BnG,GAAOD,QAAU,SAAU0B,EAAQutB,GACjC,GAGI1rB,GAHA6O,EAAIyH,EAAgBnY,GACpBjB,EAAI,EACJiW,IAEJ,KAAKnT,IAAO6O,IAAI1P,EAAOwV,EAAY3U,IAAQb,EAAO0P,EAAG7O,IAAQ6C,EAAKsQ,EAAQnT,EAE1E,MAAO0rB,EAAMhsB,OAASxC,GAAOiC,EAAO0P,EAAG7O,EAAM0rB,EAAMxuB,SAChDksB,EAAQjW,EAAQnT,IAAQ6C,EAAKsQ,EAAQnT,GAExC,OAAOmT,KvJsxKH,SAAUzW,EAAQD,EAASM,GwJxyKjC,GAAIuR,GAAc,EAAQ,IACtBE,EAA0B,EAAQ,KAClCY,EAAuB,EAAQ,IAC/BX,EAAW,EAAQ,IACnB6H,EAAkB,EAAQ,IAC1BqV,EAAa,EAAQ,IAKzBlvB,GAAQqC,EAAIwP,IAAgBE,EAA0B5Q,OAAOguB,iBAAmB,SAA0B/c,EAAGwH,GAC3G5H,EAASI,EAMT,KALA,GAII7O,GAJA6rB,EAAQvV,EAAgBD,GACxB9S,EAAOooB,EAAWtV,GAClB3W,EAAS6D,EAAK7D,OACd2G,EAAQ,EAEL3G,EAAS2G,GAAO+I,EAAqBtQ,EAAE+P,EAAG7O,EAAMuD,EAAK8C,KAAUwlB,EAAM7rB,GAC5E,OAAO6O,KxJgzKH,SAAUnS,EAAQD,EAASM,GyJl0KjC,GAAI6V,GAAa,EAAQ,GAEzBlW,GAAOD,QAAUmW,EAAW,WAAY,oBzJy0KlC,SAAUlW,EAAQD,EAASM,G0J30KjC,GAAIgW,GAAkB,EAAQ,GAC1ByD,EAAY,EAAQ,IAEpB2N,EAAWpR,EAAgB,YAC3B+Y,EAAiBppB,MAAMrE,SAG3B3B,GAAOD,QAAU,SAAUgI,GACzB,WAAcU,KAAPV,IAAqB+R,EAAU9T,QAAU+B,GAAMqnB,EAAe3H,KAAc1f,K1Jm1K/E,SAAU/H,EAAQD,EAASM,G2J31KjC,GAAIM,GAAO,EAAQ,IACfgW,EAAY,EAAQ,IACpB5E,EAAW,EAAQ,IACnBnD,EAAc,EAAQ,IACtBoV,EAAoB,EAAQ,IAE5B5a,EAAaC,SAEjBrJ,GAAOD,QAAU,SAAU+H,EAAUunB,GACnC,GAAIC,GAAiBvsB,UAAUC,OAAS,EAAIghB,EAAkBlc,GAAYunB,CAC1E,IAAI1Y,EAAU2Y,GAAiB,MAAOvd,GAASpR,EAAK2uB,EAAgBxnB,GACpE,MAAMsB,GAAWwF,EAAY9G,GAAY,sB3Jm2KrC,SAAU9H,EAAQD,EAASM,G4J92KjC,GAAIM,GAAO,EAAQ,IACfoR,EAAW,EAAQ,IACnByV,EAAY,EAAQ,IAExBxnB,GAAOD,QAAU,SAAUghB,EAAUxG,EAAMhW,GACzC,GAAIgrB,GAAaC,CACjBzd,GAASgP,EACT,KAEE,KADAwO,EAAc/H,EAAUzG,EAAU,WAChB,CAChB,GAAa,UAATxG,EAAkB,KAAMhW,EAC5B,OAAOA,GAETgrB,EAAc5uB,EAAK4uB,EAAaxO,GAChC,MAAOhc,GACPyqB,GAAa,EACbD,EAAcxqB,EAEhB,GAAa,UAATwV,EAAkB,KAAMhW,EAC5B,IAAIirB,EAAY,KAAMD,EAEtB,OADAxd,GAASwd,GACFhrB,I5Js3KH,SAAUvE,EAAQD,EAASM,GAEjC,Y6J54KA,IAAIovB,GAAI,EAAQ,GACZ9uB,EAAO,EAAQ,IACfsZ,EAAU,EAAQ,IAClByV,EAAe,EAAQ,KACvBxtB,EAAa,EAAQ,GACrBytB,EAA4B,EAAQ,KACpCzI,EAAiB,EAAQ,IACzBE,EAAiB,EAAQ,IACzBwI,EAAiB,EAAQ,IACzBptB,EAA8B,EAAQ,IACtCqtB,EAAgB,EAAQ,IACxBxZ,EAAkB,EAAQ,GAC1ByD,EAAY,EAAQ,IACpBgW,EAAgB,EAAQ,KAExBC,EAAuBL,EAAaM,OACpCC,EAA6BP,EAAaQ,aAC1CC,EAAoBL,EAAcK,kBAClCC,EAAyBN,EAAcM,uBACvC3I,EAAWpR,EAAgB,YAK3Bga,EAAa,WAAc,MAAOjwB,MAEtCJ,GAAOD,QAAU,SAAUuwB,EAAUzoB,EAAM0oB,EAAqB/L,EAAMgM,EAASC,EAAQttB,GACrFwsB,EAA0BY,EAAqB1oB,EAAM2c,EAErD,IAkBIkM,GAA0BnD,EAASoD,EAlBnCC,EAAqB,SAAUC,GACjC,GAAIA,IAASL,GAAWM,EAAiB,MAAOA,EAChD,KAAKV,GAA0BS,IAAQE,GAAmB,MAAOA,GAAkBF,EACnF,QAAQA,GACN,IAbK,OAcL,IAbO,SAcP,IAbQ,UAaM,MAAO,YAAqB,MAAO,IAAIN,GAAoBnwB,KAAMywB,IAC/E,MAAO,YAAc,MAAO,IAAIN,GAAoBnwB,QAGpDkW,EAAgBzO,EAAO,YACvBmpB,GAAwB,EACxBD,EAAoBT,EAAS3uB,UAC7BsvB,EAAiBF,EAAkBtJ,IAClCsJ,EAAkB,eAClBP,GAAWO,EAAkBP,GAC9BM,GAAmBV,GAA0Ba,GAAkBL,EAAmBJ,GAClFU,EAA4B,SAARrpB,EAAkBkpB,EAAkBI,SAAWF,EAAiBA,CA+BxF,IA3BIC,IACFR,EAA2BxJ,EAAegK,EAAkBvwB,KAAK,GAAI2vB,QACpCpvB,OAAOS,WAAa+uB,EAAyBlM,OACvEvK,GAAWiN,EAAewJ,KAA8BP,IACvD/I,EACFA,EAAesJ,EAA0BP,GAC/BjuB,EAAWwuB,EAAyBjJ,KAC9CoI,EAAca,EAA0BjJ,EAAU4I,IAItDT,EAAec,EAA0Bpa,GAAe,GAAM,GAC1D2D,IAASH,EAAUxD,GAAiB+Z,IAKxCN,GA9CO,UA8CiBS,GAAqBS,GA9CtC,WA8CwDA,EAAelwB,QAC3EkZ,GAAWgW,EACdztB,EAA4BuuB,EAAmB,OAhDxC,WAkDPC,GAAwB,EACxBF,EAAkB,WAAoB,MAAOnwB,GAAKswB,EAAgB7wB,SAKlEowB,EAMF,GALAjD,GACE7S,OAAQkW,EA1DD,UA2DP/pB,KAAM4pB,EAASK,EAAkBF,EA5D5B,QA6DLO,QAASP,EA3DD,YA6DNztB,EAAQ,IAAKwtB,IAAOpD,IAClB6C,IAA0BY,GAA2BL,IAAOI,IAC9DlB,EAAckB,EAAmBJ,EAAKpD,EAAQoD,QAE3ClB,IAAI5rB,OAAQgE,EAAM3D,OAAO,EAAMG,OAAQ+rB,GAA0BY,GAAyBzD,EASnG,OALMtT,KAAW9W,GAAW4tB,EAAkBtJ,KAAcqJ,GAC1DjB,EAAckB,EAAmBtJ,EAAUqJ,GAAmB/vB,KAAMyvB,IAEtE1W,EAAUjS,GAAQipB,EAEXvD,I7Jo5KH,SAAUvtB,EAAQD,EAASM,G8Jr/KjC,GAAIuR,GAAc,EAAQ,IACtBnP,EAAS,EAAQ,IAEjBwC,EAAoBC,SAASvD,UAE7ByvB,EAAgBxf,GAAe1Q,OAAOiB,yBAEtC+pB,EAASzpB,EAAOwC,EAAmB,QAEnC+qB,EAAS9D,GAA0D,cAAhD,aAAuCnrB,KAC1DmvB,EAAehE,KAAYta,GAAgBA,GAAewf,EAAcnsB,EAAmB,QAAQ7D,aAEvGpB,GAAOD,SACLmsB,OAAQA,EACR8D,OAAQA,EACRE,aAAcA,I9J6/KV,SAAUlwB,EAAQD,EAASM,GAEjC,Y+J7gLA,IAaI8vB,GAAmBkB,EAAmCC,EAbtDtoB,EAAQ,EAAQ,GAChB9G,EAAa,EAAQ,GACrB6E,EAAS,EAAQ,IACjBmgB,EAAiB,EAAQ,IACzB2I,EAAgB,EAAQ,IACxBxZ,EAAkB,EAAQ,GAC1B4D,EAAU,EAAQ,IAElBwN,EAAWpR,EAAgB,YAC3B+Z,GAAyB,KAOtBvpB,OACLyqB,KAAmBzqB,OAEb,QAAUyqB,IAEdD,EAAoCnK,EAAeA,EAAeoK,OACxBpwB,OAAOS,YAAWwuB,EAAoBkB,GAHlDjB,GAAyB,OAOT3nB,IAArB0nB,GAAkCnnB,EAAM,WACnE,GAAIua,KAEJ,OAAO4M,GAAkB1I,GAAU9mB,KAAK4iB,KAAUA,IAGxB4M,KACnBlW,IAASkW,EAAoBppB,EAAOopB,IAIxCjuB,EAAWiuB,EAAkB1I,KAChCoI,EAAcM,EAAmB1I,EAAU,WACzC,MAAOrnB,QAIXJ,EAAOD,SACLowB,kBAAmBA,EACnBC,uBAAwBA,I/JqhLpB,SAAUpwB,EAAQD,EAASM,GgKnkLjC,GAAI0R,GAAW,EAAQ,IACnBwf,EAAe,EAAQ,KACvBlb,EAAkB,EAAQ,GAE1B+O,EAAU/O,EAAgB,UAI9BrW,GAAOD,QAAU,SAAUoS,EAAGqf,GAC5B,GACIC,GADA5a,EAAI9E,EAASI,GAAG3B,WAEpB,YAAa/H,KAANoO,OAAiDpO,KAA7BgpB,EAAI1f,EAAS8E,GAAGuO,IAAyBoM,EAAqBD,EAAaE,KhK2kLlG,SAAUzxB,EAAQD,EAASM,GiKtlLjC,GAAIqxB,GAAgB,EAAQ,IACxB9iB,EAAc,EAAQ,IAEtBxF,EAAaC,SAGjBrJ,GAAOD,QAAU,SAAU+H,GACzB,GAAI4pB,EAAc5pB,GAAW,MAAOA,EACpC,MAAMsB,GAAWwF,EAAY9G,GAAY,2BjK8lLrC,SAAU9H,EAAQD,EAASM,GkKtmLjC,GAuBIsxB,GAAUC,EAAOC,EAASC,EAvB1B/vB,EAAS,EAAQ,GACjBC,EAAQ,EAAQ,IAChBO,EAAO,EAAQ,IACfL,EAAa,EAAQ,GACrBO,EAAS,EAAQ,IACjBuG,EAAQ,EAAQ,GAChBkP,EAAO,EAAQ,KACf6Z,EAAa,EAAQ,IACrB5F,EAAgB,EAAQ,KACxB6F,EAA0B,EAAQ,KAClCC,EAAS,EAAQ,KACjBC,EAAU,EAAQ,IAElB/X,EAAMpY,EAAOowB,aACbC,EAAQrwB,EAAOswB,eACf5a,EAAU1V,EAAO0V,QACjB6a,EAAWvwB,EAAOuwB,SAClBptB,EAAWnD,EAAOmD,SAClBqtB,EAAiBxwB,EAAOwwB,eACxBppB,EAASpH,EAAOoH,OAChBqpB,EAAU,EACVC,IAIJ,KAEEd,EAAW5vB,EAAO4vB,SAClB,MAAO5sB,IAET,GAAI2tB,GAAM,SAAU3T,GAClB,GAAItc,EAAOgwB,EAAO1T,GAAK,CACrB,GAAI5Z,GAAKstB,EAAM1T,SACR0T,GAAM1T,GACb5Z,MAIAwtB,EAAS,SAAU5T,GACrB,MAAO,YACL2T,EAAI3T,KAIJ6T,EAAW,SAAUC,GACvBH,EAAIG,EAAM3lB,OAGR4lB,EAAO,SAAU/T,GAEnBhd,EAAOgxB,YAAY5pB,EAAO4V,GAAK4S,EAASqB,SAAW,KAAOrB,EAASsB,MAIhE9Y,IAAQiY,IACXjY,EAAM,SAAsB+Y,GAC1BlB,EAAwBjvB,UAAUC,OAAQ,EAC1C,IAAImC,GAAKjD,EAAWgxB,GAAWA,EAAUhuB,EAASguB,GAC9CtpB,EAAOmoB,EAAWhvB,UAAW,EAKjC,OAJA0vB,KAAQD,GAAW,WACjBxwB,EAAMmD,MAAIsD,GAAWmB,IAEvBgoB,EAAMY,GACCA,GAETJ,EAAQ,SAAwBrT,SACvB0T,GAAM1T,IAGXmT,EACFN,EAAQ,SAAU7S,GAChBtH,EAAQ0b,SAASR,EAAO5T,KAGjBuT,GAAYA,EAASznB,IAC9B+mB,EAAQ,SAAU7S,GAChBuT,EAASznB,IAAI8nB,EAAO5T,KAIbwT,IAAmBN,GAC5BJ,EAAU,GAAIU,GACdT,EAAOD,EAAQuB,MACfvB,EAAQwB,MAAMC,UAAYV,EAC1BhB,EAAQrvB,EAAKuvB,EAAKiB,YAAajB,IAI/B/vB,EAAOwxB,kBACPrxB,EAAWH,EAAOgxB,eACjBhxB,EAAOyxB,eACR7B,GAAkC,UAAtBA,EAASqB,WACpBhqB,EAAM8pB,IAEPlB,EAAQkB,EACR/wB,EAAOwxB,iBAAiB,UAAWX,GAAU,IAG7ChB,EA5EqB,sBA2EUzF,GAAc,UACrC,SAAUpN,GAChB7G,EAAKiB,YAAYgT,EAAc,WAA6B,mBAAI,WAC9DjU,EAAKub,YAAYrzB,MACjBsyB,EAAI3T,KAKA,SAAUA,GAChB2U,WAAWf,EAAO5T,GAAK,KAK7B/e,EAAOD,SACLoa,IAAKA,EACLiY,MAAOA,IlK8mLH,SAAUpyB,EAAQD,EAASM,GmKhuLjC,GAAI2L,GAAY,EAAQ,GAExBhM,GAAOD,QAAU,qCAAqCwjB,KAAKvX,InKuuLrD,SAAUhM,EAAQD,EAASM,GoKzuLjC,GAAI2kB,GAA2B,EAAQ,IACnC2O,EAA8B,EAAQ,KACtCnO,EAA6B,EAAQ,IAA8Cvb,WAEvFjK,GAAOD,QAAUylB,IAA+BmO,EAA4B,SAAUtP,GACpFW,EAAyB4O,IAAIvP,GAAUnY,SAAKzD,GAAW,iBpKivLnD,SAAUzI,EAAQD,EAASM,GqKtvLjC,GAAIgW,GAAkB,EAAQ,GAE1BoR,EAAWpR,EAAgB,YAC3Bwd,GAAe,CAEnB,KACE,GAAIlL,GAAS,EACTmL,GACFtP,KAAM,WACJ,OAAS/J,OAAQkO,MAEnB,OAAU,WACRkL,GAAe,GAGnBC,GAAmBrM,GAAY,WAC7B,MAAOrnB,OAGT4F,MAAM+tB,KAAKD,EAAoB,WAAc,KAAM,KACnD,MAAO/uB,IAET/E,EAAOD,QAAU,SAAU+E,EAAMkvB,GAC/B,IAAKA,IAAiBH,EAAc,OAAO,CAC3C,IAAII,IAAoB,CACxB,KACE,GAAIxyB,KACJA,GAAOgmB,GAAY,WACjB,OACEjD,KAAM,WACJ,OAAS/J,KAAMwZ,GAAoB,MAIzCnvB,EAAKrD,GACL,MAAOsD,IACT,MAAOkvB,KrK8vLH,SAAUj0B,EAAQD,EAASM,GsKlyLjC,GAAI0R,GAAW,EAAQ,IACnB9I,EAAW,EAAQ,IACnBirB,EAAuB,EAAQ,GAEnCl0B,GAAOD,QAAU,SAAU8W,EAAGxH,GAE5B,GADA0C,EAAS8E,GACL5N,EAASoG,IAAMA,EAAEmB,cAAgBqG,EAAG,MAAOxH,EAC/C,IAAI8kB,GAAoBD,EAAqB9xB,EAAEyU,EAG/C,QADA5K,EADckoB,EAAkBloB,SACxBoD,GACD8kB,EAAkBpd,UtK0yLrB,SAAU/W,EAAQ6E,EAAqBxE,GAE7C,YuKrzLe,SAASkP,GAAY3K,GAClC,WAAe,KAARA,EAFT,OvKg0LM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YwK/zLe,SAAS+zB,GAAUxvB,GAChC,OAAe,IAARA,IAAwB,IAARA,GAAwC,qBAAvB,IAASjE,KAAKiE,GAJxD,kBxK+0LM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YyKj1LA,YAEe,iBAAU,WzKw1LnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y0K51LA,YAEe,iBAAU,W1Km2LnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y2Kv2LA,YAEe,iBAAU,gB3K82LnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y4K92Le,SAAS8G,GAAMvC,GAC5B,MAAO,aAASA,IAAQ,YAAOA,GALjC,2B5Ki4LM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y6K53LA,SAASg0B,GAAazvB,GAGpB,MAAO,KAAgB,YAAaA,KAAS,YAAWA,GAC1C,YAAaA,IAAQ0vB,EAAkB/Q,KAAK,IAAS5iB,KAAKiE,IAX1E,sCAMI0vB,EAAoB,6EAQT,SAAsBD,EAAe,aAAS,I7K64LvD,SAAUr0B,EAAQ6E,EAAqBxE,GAE7C,Y8K55Le,SAASk0B,GAAShwB,GAC/B,MAAO,YACL,MAAOA,IAHX,O9Ky6LM,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,Y+Kx6Le,SAASm0B,GAAwBC,GAC9C,MAAO,UAASpO,GACd,GAAIqO,GAAeD,EAAgBpO,EACnC,OAA8B,gBAAhBqO,IAA4BA,GAAgB,GAAKA,GAAgB,KANnF,kB/K27LM,SAAU10B,EAAQ6E,EAAqBxE,GAE7C,YgL57Le,SAASs0B,GAAgBrxB,GACtC,MAAO,UAASsB,GACd,MAAc,OAAPA,MAAc,GAASA,EAAItB,IAHtC,OhLy8LM,SAAUtD,EAAQ6E,EAAqBxE,GAE7C,YiLn8LA,SAASu0B,GAAY/tB,GAEnB,IAAK,GADDguB,MACKp0B,EAAIoG,EAAK7D,OAAQxC,EAAI,EAAGA,EAAIC,IAAKD,EAAGq0B,EAAKhuB,EAAKrG,KAAM,CAC7D,QACEimB,SAAU,SAASnjB,GAAO,MAAOuxB,GAAKvxB,IACtC6C,KAAM,SAAS7C,GAEb,MADAuxB,GAAKvxB,IAAO,EACLuD,EAAKV,KAAK7C,KAQR,QAASwxB,GAAoBlwB,EAAKiC,GAC/CA,EAAO+tB,EAAY/tB,EACnB,IAAIkuB,GAAa,IAAmB/xB,OAChCwN,EAAc5L,EAAI4L,YAClBtM,EAAQ,YAAWsM,IAAgBA,EAAY7O,WAAa,IAG5DqzB,EAAO,aAGX,KAFI,YAAIpwB,EAAKowB,KAAUnuB,EAAK4f,SAASuO,IAAOnuB,EAAKV,KAAK6uB,GAE/CD,MACLC,EAAO,IAAmBD,KACdnwB,IAAOA,EAAIowB,KAAU9wB,EAAM8wB,KAAUnuB,EAAK4f,SAASuO,IAC7DnuB,EAAKV,KAAK6uB,GApChB,kCjL4/LM,SAAUh1B,EAAQ6E,EAAqBxE,GAE7C,YkL3/Le,SAAS40B,GAAQxzB,EAAQonB,GACtC,GAAI3Z,GAAQ,YAAK2Z,GAAQ7lB,EAASkM,EAAMlM,MACxC,IAAc,MAAVvB,EAAgB,OAAQuB,CAE5B,KAAK,GADD4B,GAAM1D,OAAOO,GACRjB,EAAI,EAAGA,EAAIwC,EAAQxC,IAAK,CAC/B,GAAI8C,GAAM4L,EAAM1O,EAChB,IAAIqoB,EAAMvlB,KAASsB,EAAItB,MAAUA,IAAOsB,IAAM,OAAO,EAEvD,OAAO,EAXT,mBlLkhMM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YmLjhMe,SAAS60B,GAAOtwB,GAG7B,IAAK,GAFD6R,MACAvH,EAAQ,YAAKtK,GACRpE,EAAI,EAAGwC,EAASkM,EAAMlM,OAAQxC,EAAIwC,EAAQxC,IACjDiW,EAAO7R,EAAIsK,EAAM1O,KAAO0O,EAAM1O,EAEhC,OAAOiW,GATT,mBnLsiMM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YoLriMe,SAAS80B,GAAUvwB,GAChC,GAAIoqB,KACJ,KAAK,GAAI1rB,KAAOsB,GACV,YAAWA,EAAItB,KAAO0rB,EAAM7oB,KAAK7C,EAEvC,OAAO0rB,GAAMoG,OARf,mBpLyjMM,SAAUp1B,EAAQ6E,EAAqBxE,GAE7C,YqL3jMA,qBAIe,iBAAe,MrLmkMxB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YsLzkMA,qBAIe,iBAAe,KAAS,ItLilMjC,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YuLnlMA,SAASg1B,KACP,MAAO,cAIM,QAASC,GAAW3zB,GACjC,IAAK,YAASA,GAAY,QAC1B,IAAI,IAAc,MAAO,aAAaA,EACtC,IAAI4zB,GAAOF,GACXE,GAAK5zB,UAAYA,CACjB,IAAI8U,GAAS,GAAI8e,EAEjB,OADAA,GAAK5zB,UAAY,KACV8U,EAhBT,0BvLinMM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YwL9mMe,SAASkf,GAAM3a,GAC5B,MAAK,aAASA,GACP,YAAQA,GAAOA,EAAIwB,QAAU,eAAWxB,GADpBA,EAN7B,oCxLqoMM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YyL/nMe,SAASiB,GAAIG,EAAQa,EAAMkzB,GACxC,GAAIjxB,GAAQ,YAAQ9C,EAAQ,YAAOa,GACnC,OAAO,aAAYiC,GAASixB,EAAejxB,EAV7C,qCzL4pMM,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,Y0LzpMe,SAAS8lB,GAAO7jB,GAC7B,MAAO,aAAQA,GAAQA,GAAQA,GANjC,yBAQA,KAAE6jB,OAASA,G1LuqML,SAAUnmB,EAAQ6E,EAAqBxE,GAE7C,Y2LtqMe,SAASo1B,GAAalxB,EAAOsE,EAASC,GACnD,MAAa,OAATvE,EAAsB,IACtB,YAAWA,GAAe,YAAWA,EAAOsE,EAASC,GACrD,YAASvE,KAAW,YAAQA,GAAe,YAAQA,GAChD,YAASA,GAflB,sE3L+sMM,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,Y4L3sMe,SAAS0I,GAASxE,EAAOsE,GACtC,MAAO,aAAatE,EAAOsE,EAAS4S,KAPtC,0BASA,KAAE1S,SAAWA,G5L0tMP,SAAU/I,EAAQ6E,EAAqBxE,GAE7C,Y6LpuMe,SAAS+nB,MADxB,O7L6uMM,SAAUpoB,EAAQ6E,EAAqBxE,GAE7C,Y8L9uMe,SAAS4rB,GAAOW,EAAKnjB,GAKlC,MAJW,OAAPA,IACFA,EAAMmjB,EACNA,EAAM,GAEDA,EAAMllB,KAAKguB,MAAMhuB,KAAKukB,UAAYxiB,EAAMmjB,EAAM,IANvD,O9L6vMM,SAAU5sB,EAAQ6E,EAAqBxE,GAE7C,Y+L3vMe,SAASs1B,GAAc9Z,GACpC,GAAI+Z,GAAU,SAASpe,GACrB,MAAOqE,GAAIrE,IAGTtU,EAAS,MAAQ,YAAK2Y,GAAKhM,KAAK,KAAO,IACvCgmB,EAAapU,OAAOve,GACpB4yB,EAAgBrU,OAAOve,EAAQ,IACnC,OAAO,UAAS2iB,GAEd,MADAA,GAAmB,MAAVA,EAAiB,GAAK,GAAKA,EAC7BgQ,EAAWtS,KAAKsC,GAAUA,EAAO5D,QAAQ6T,EAAeF,GAAW/P,GAd9E,mB/LuxMM,SAAU7lB,EAAQ6E,EAAqBxE,GAE7C,YgMxxMe,MACb,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,WhMgyMD,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YiMzyMA,YAIe,SAAE01B,kBACfC,SAAU,kBACVC,YAAa,mBACbC,OAAQ,qBjMizMJ,SAAUl2B,EAAQ6E,EAAqBxE,GAE7C,YkMpzMe,SAAS81B,GAAaC,EAAYC,EAAWxtB,EAASytB,EAAgB1sB,GACnF,KAAM0sB,YAA0BD,IAAY,MAAOD,GAAWp0B,MAAM6G,EAASe,EAC7E,IAAIzJ,GAAO,YAAWi2B,EAAWz0B,WAC7B8U,EAAS2f,EAAWp0B,MAAM7B,EAAMyJ,EACpC,OAAI,aAAS6M,GAAgBA,EACtBtW,EAXT,4BlM+0MM,SAAUH,EAAQ6E,EAAqBxE,GAE7C,YmMj1MA,6BAMe,iBAAc,SAASkJ,EAAMV,EAASe,GACnD,IAAK,YAAWL,GAAO,KAAM,IAAIF,WAAU,oCAC3C,IAAI4f,GAAQ,YAAc,SAASsN,GACjC,MAAO,aAAahtB,EAAM0f,EAAOpgB,EAASzI,KAAMwJ,EAAK4R,OAAO+a,KAE9D,OAAOtN,MnM21MH,SAAUjpB,EAAQ6E,EAAqBxE,GAE7C,YoMx2MA,YAIe,iBAAc,SAASkJ,EAAMitB,EAAM5sB,GAChD,MAAO8pB,YAAW,WAChB,MAAOnqB,GAAKvH,MAAM,KAAM4H,IACvB4sB,MpMg3MC,SAAUx2B,EAAQ6E,EAAqBxE,GAE7C,YqMv3Me,SAASo2B,GAAOC,EAAOntB,GACpC,GAAIotB,EACJ,OAAO,YAKL,QAJMD,EAAQ,IACZC,EAAOptB,EAAKvH,MAAM5B,KAAM2C,YAEtB2zB,GAAS,IAAGntB,EAAO,MAChBotB,GATX,OrM24MM,SAAU32B,EAAQ6E,EAAqBxE,GAE7C,YsMz4Me,SAASu2B,GAAQhyB,EAAK4M,EAAW3I,GAC9C2I,EAAY,YAAGA,EAAW3I,EAE1B,KAAK,GADkBvF,GAAnB4L,EAAQ,YAAKtK,GACRpE,EAAI,EAAGwC,EAASkM,EAAMlM,OAAQxC,EAAIwC,EAAQxC,IAEjD,GADA8C,EAAM4L,EAAM1O,GACRgR,EAAU5M,EAAItB,GAAMA,EAAKsB,GAAM,MAAOtB,GAT9C,2BtMi6MM,SAAUtD,EAAQ6E,EAAqBxE,GAE7C,YuM/5Me,SAASw2B,GAA2BC,GACjD,MAAO,UAAStN,EAAOhY,EAAW3I,GAChC2I,EAAY,YAAGA,EAAW3I,EAG1B,KAFA,GAAI7F,GAAS,YAAUwmB,GACnB7f,EAAQmtB,EAAM,EAAI,EAAI9zB,EAAS,EAC5B2G,GAAS,GAAKA,EAAQ3G,EAAQ2G,GAASmtB,EAC5C,GAAItlB,EAAUgY,EAAM7f,GAAQA,EAAO6f,GAAQ,MAAO7f,EAEpD,QAAQ,GAZZ,2BvM07MM,SAAU3J,EAAQ6E,EAAqBxE,GAE7C,YwM57MA,aAGe,kBAA4B,IxMm8MrC,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YyMn8Me,SAAS02B,GAAYvN,EAAO5kB,EAAKmE,EAAUF,GACxDE,EAAW,YAAGA,EAAUF,EAAS,EAGjC,KAFA,GAAItE,GAAQwE,EAASnE,GACjBoyB,EAAM,EAAGC,EAAO,YAAUzN,GACvBwN,EAAMC,GAAM,CACjB,GAAIC,GAAMxvB,KAAKguB,OAAOsB,EAAMC,GAAQ,EAChCluB,GAASygB,EAAM0N,IAAQ3yB,EAAOyyB,EAAME,EAAM,EAAQD,EAAOC,EAE/D,MAAOF,GAbT,2BzM+9MM,SAAUh3B,EAAQ6E,EAAqBxE,GAE7C,Y0Mj+MA,+BAQe,iBAAkB,EAAG,IAAW,M1M0+MzC,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y2M/+Me,SAAS82B,GAAkBL,EAAKM,EAAeL,GAC5D,MAAO,UAASvN,EAAO9C,EAAMhL,GAC3B,GAAIlb,GAAI,EAAGwC,EAAS,YAAUwmB,EAC9B,IAAkB,gBAAP9N,GACLob,EAAM,EACRt2B,EAAIkb,GAAO,EAAIA,EAAMhU,KAAK+B,IAAIiS,EAAM1Y,EAAQxC,GAE5CwC,EAAS0Y,GAAO,EAAIhU,KAAKklB,IAAIlR,EAAM,EAAG1Y,GAAU0Y,EAAM1Y,EAAS,MAE5D,IAAI+zB,GAAerb,GAAO1Y,EAE/B,MADA0Y,GAAMqb,EAAYvN,EAAO9C,GAClB8C,EAAM9N,KAASgL,EAAOhL,GAAO,CAEtC,IAAIgL,IAASA,EAEX,MADAhL,GAAM0b,EAAc,IAAMz2B,KAAK6oB,EAAOhpB,EAAGwC,GAAS,KAC3C0Y,GAAO,EAAIA,EAAMlb,GAAK,CAE/B,KAAKkb,EAAMob,EAAM,EAAIt2B,EAAIwC,EAAS,EAAG0Y,GAAO,GAAKA,EAAM1Y,EAAQ0Y,GAAOob,EACpE,GAAItN,EAAM9N,KAASgL,EAAM,MAAOhL,EAElC,QAAQ,GAzBZ,mC3MyhNM,SAAU1b,EAAQ6E,EAAqBxE,GAE7C,Y4MthNe,SAASqqB,GAAK9lB,EAAK4M,EAAW3I,GAC3C,GAAIwuB,GAAY,YAAYzyB,GAAO,IAAY,IAC3CtB,EAAM+zB,EAAUzyB,EAAK4M,EAAW3I,EACpC,QAAY,KAARvF,IAA2B,IAATA,EAAY,MAAOsB,GAAItB,GAR/C,qC5M8iNM,SAAUtD,EAAQ6E,EAAqBxE,GAE7C,Y6M3iNe,SAASi3B,GAAaR,GAGnC,GAAIS,GAAU,SAAS3yB,EAAKmE,EAAU4tB,EAAMa,GAC1C,GAAItoB,IAAS,YAAYtK,IAAQ,YAAKA,GAClC5B,GAAUkM,GAAStK,GAAK5B,OACxB2G,EAAQmtB,EAAM,EAAI,EAAI9zB,EAAS,CAKnC,KAJKw0B,IACHb,EAAO/xB,EAAIsK,EAAQA,EAAMvF,GAASA,GAClCA,GAASmtB,GAEJntB,GAAS,GAAKA,EAAQ3G,EAAQ2G,GAASmtB,EAAK,CACjD,GAAI/a,GAAa7M,EAAQA,EAAMvF,GAASA,CACxCgtB,GAAO5tB,EAAS4tB,EAAM/xB,EAAImX,GAAaA,EAAYnX,GAErD,MAAO+xB,GAGT,OAAO,UAAS/xB,EAAKmE,EAAU4tB,EAAM9tB,GACnC,GAAI2uB,GAAUz0B,UAAUC,QAAU,CAClC,OAAOu0B,GAAQ3yB,EAAK,YAAWmE,EAAUF,EAAS,GAAI8tB,EAAMa,IAzBhE,mC7MqlNM,SAAUx3B,EAAQ6E,EAAqBxE,GAE7C,Y8MjlNe,SAASoJ,GAAI7E,EAAKmE,EAAUF,GACzC,GACItE,GAAOkzB,EADPhhB,GAAUgF,IAAUic,GAAgBjc,GAExC,IAAgB,MAAZ1S,GAAuC,gBAAZA,IAAyC,gBAAVnE,GAAI,IAAyB,MAAPA,EAAa,CAC/FA,EAAM,YAAYA,GAAOA,EAAM,YAAOA,EACtC,KAAK,GAAIpE,GAAI,EAAGwC,EAAS4B,EAAI5B,OAAQxC,EAAIwC,EAAQxC,IAElC,OADb+D,EAAQK,EAAIpE,KACS+D,EAAQkS,IAC3BA,EAASlS,OAIbwE,GAAW,YAAGA,EAAUF,GACxB,YAAKjE,EAAK,SAASqa,EAAGtV,EAAO6c,KAC3BiR,EAAW1uB,EAASkW,EAAGtV,EAAO6c,IACfkR,GAAgBD,KAAchc,KAAYhF,KAAYgF,OACnEhF,EAASwI,EACTyY,EAAeD,IAIrB,OAAOhhB,GA3BT,2C9M8nNM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,Y+MtnNe,SAASs3B,GAAO/yB,EAAKrD,EAAGqlB,GACrC,GAAS,MAALrlB,GAAaqlB,EAEf,MADK,aAAYhiB,KAAMA,EAAM,YAAOA,IAC7BA,EAAI,YAAOA,EAAI5B,OAAS,GAEjC,IAAI20B,GAAS,YAAY/yB,GAAO,YAAMA,GAAO,YAAOA,GAChD5B,EAAS,YAAU20B,EACvBp2B,GAAImG,KAAK+B,IAAI/B,KAAKklB,IAAIrrB,EAAGyB,GAAS,EAElC,KAAK,GADD40B,GAAO50B,EAAS,EACX2G,EAAQ,EAAGA,EAAQpI,EAAGoI,IAAS,CACtC,GAAIkuB,GAAO,YAAOluB,EAAOiuB,GACrBhf,EAAO+e,EAAOhuB,EAClBguB,GAAOhuB,GAASguB,EAAOE,GACvBF,EAAOE,GAAQjf,EAEjB,MAAO+e,GAAOvxB,MAAM,EAAG7E,GAzBzB,qD/MsqNM,SAAUvB,EAAQ6E,EAAqBxE,GAE7C,YgNxqNA,qDAQe,iBAAc,SAASuE,EAAKiC,GACzC,GAAI4P,MAAa1N,EAAWlC,EAAK,EACjC,IAAW,MAAPjC,EAAa,MAAO6R,EACpB,aAAW1N,IACTlC,EAAK7D,OAAS,IAAG+F,EAAW,YAAWA,EAAUlC,EAAK,KAC1DA,EAAO,YAAQjC,KAEfmE,EAAW,IACXlC,EAAO,YAAQA,GAAM,GAAO,GAC5BjC,EAAM1D,OAAO0D,GAEf,KAAK,GAAIpE,GAAI,EAAGwC,EAAS6D,EAAK7D,OAAQxC,EAAIwC,EAAQxC,IAAK,CACrD,GAAI8C,GAAMuD,EAAKrG,GACX+D,EAAQK,EAAItB,EACZyF,GAASxE,EAAOjB,EAAKsB,KAAM6R,EAAOnT,GAAOiB,GAE/C,MAAOkS,MhNqrNH,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YiN1sNe,SAASm3B,GAAQhO,EAAOjoB,EAAGqlB,GACxC,MAAO,KAAMjmB,KAAK6oB,EAAO,EAAG9hB,KAAK+B,IAAI,EAAG+f,EAAMxmB,QAAe,MAALzB,GAAaqlB,EAAQ,EAAIrlB,KANnF,kBjN8tNM,SAAUvB,EAAQ6E,EAAqBxE,GAE7C,YkN3tNe,SAASqJ,GAAK8f,EAAOjoB,EAAGqlB,GACrC,MAAO,KAAMjmB,KAAK6oB,EAAY,MAALjoB,GAAaqlB,EAAQ,EAAIrlB,GANpD,kBlN+uNM,SAAUvB,EAAQ6E,EAAqBxE,GAE7C,YmNjvNA,oCAOe,iBAAc,SAASmpB,EAAO9f,GAE3C,MADAA,GAAO,YAAQA,GAAM,GAAM,GACpB,YAAO8f,EAAO,SAASjlB,GAC5B,OAAQ,YAASmF,EAAMnF,QnN6vNrB,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,YoN/vNe,SAASy3B,GAAKtO,EAAOuO,EAAUhvB,EAAUF,GACjD,YAAUkvB,KACblvB,EAAUE,EACVA,EAAWgvB,EACXA,GAAW,GAEG,MAAZhvB,IAAkBA,EAAW,YAAGA,EAAUF,GAG9C,KAAK,GAFD4N,MACA4J,KACK7f,EAAI,EAAGwC,EAAS,YAAUwmB,GAAQhpB,EAAIwC,EAAQxC,IAAK,CAC1D,GAAI+D,GAAQilB,EAAMhpB,GACdi3B,EAAW1uB,EAAWA,EAASxE,EAAO/D,EAAGgpB,GAASjlB,CAClDwzB,KAAahvB,GACVvI,GAAK6f,IAASoX,GAAUhhB,EAAOtQ,KAAK5B,GACzC8b,EAAOoX,GACE1uB,EACJ,YAASsX,EAAMoX,KAClBpX,EAAKla,KAAKsxB,GACVhhB,EAAOtQ,KAAK5B,IAEJ,YAASkS,EAAQlS,IAC3BkS,EAAOtQ,KAAK5B,GAGhB,MAAOkS,GAlCT,4CpNuzNM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YqNnzNe,SAAS23B,GAAMxO,GAI5B,IAAK,GAHDxmB,GAASwmB,GAAS,YAAIA,EAAO,KAAWxmB,QAAU,EAClDyT,EAASzQ,MAAMhD,GAEV2G,EAAQ,EAAGA,EAAQ3G,EAAQ2G,IAClC8M,EAAO9M,GAAS,YAAM6f,EAAO7f,EAE/B,OAAO8M,GAbT,qCrNi1NM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YsNh1Ne,SAAS43B,GAAYC,EAAUtzB,GAC5C,MAAOszB,GAASC,OAAS,YAAEvzB,GAAKwzB,QAAUxzB,EAJ5C,mBtNg2NM,SAAU5E,EAAQD,EAASM,GAEjC,YuNj2NA,IAAIovB,GAAI,EAAQ,GACZzmB,EAAQ,EAAQ,GAChBrC,EAAU,EAAQ,IAClBsC,EAAW,EAAQ,IACnBb,EAAW,EAAQ,IACnB0b,EAAoB,EAAQ,IAC5BuU,EAA2B,EAAQ,KACnCC,EAAiB,EAAQ,KACzB3O,EAAqB,EAAQ,KAC7B4O,EAA+B,EAAQ,KACvCliB,EAAkB,EAAQ,GAC1BgB,EAAa,EAAQ,IAErBmhB,EAAuBniB,EAAgB,sBAKvCoiB,EAA+BphB,GAAc,KAAOrO,EAAM,WAC5D,GAAIwgB,KAEJ,OADAA,GAAMgP,IAAwB,EACvBhP,EAAMhO,SAAS,KAAOgO,IAG3BkP,EAAkBH,EAA6B,UAE/CI,EAAqB,SAAUxmB,GACjC,IAAKlJ,EAASkJ,GAAI,OAAO,CACzB,IAAIymB,GAAazmB,EAAEqmB,EACnB,YAAsB/vB,KAAfmwB,IAA6BA,EAAajyB,EAAQwL,GAQ3Dsd,IAAI5rB,OAAQ,QAASK,OAAO,EAAM20B,MAAO,EAAGx0B,QAL9Bo0B,IAAiCC,IAO7Cld,OAAQ,SAAgBsd,GACtB,GAGIt4B,GAAG0e,EAAGlc,EAAQ4Y,EAAKmd,EAHnB5mB,EAAI/J,EAAShI,MACb44B,EAAIrP,EAAmBxX,EAAG,GAC1B5Q,EAAI,CAER,KAAKf,GAAK,EAAGwC,EAASD,UAAUC,OAAQxC,EAAIwC,EAAQxC,IAElD,GADAu4B,GAAW,IAAPv4B,EAAW2R,EAAIpP,UAAUvC,GACzBm4B,EAAmBI,GAGrB,IAFAnd,EAAMkI,EAAkBiV,GACxBV,EAAyB92B,EAAIqa,GACxBsD,EAAI,EAAGA,EAAItD,EAAKsD,IAAK3d,IAAS2d,IAAK6Z,IAAGT,EAAeU,EAAGz3B,EAAGw3B,EAAE7Z,QAElEmZ,GAAyB92B,EAAI,GAC7B+2B,EAAeU,EAAGz3B,IAAKw3B,EAI3B,OADAC,GAAEh2B,OAASzB,EACJy3B,MvN02NL,SAAUh5B,EAAQD,EAASM,GwNn6NjC,GAAI44B,GAA0B,EAAQ,IAItCj5B,GAAOD,QAAU,SAAUm5B,EAAel2B,GACxC,MAAO,KAAKi2B,EAAwBC,IAA2B,IAAXl2B,EAAe,EAAIA,KxN26NnE,SAAUhD,EAAQD,EAASM,GyNh7NjCL,EAAOD,QAAU,EAAQ,MzNs7NnB,SAAUC,EAAQD,EAASM,G0Nt7NjC,GAAIovB,GAAI,EAAQ,GACZvZ,EAAa,EAAQ,IACrBlU,EAAQ,EAAQ,IAChBrB,EAAO,EAAQ,IACfsB,EAAc,EAAQ,GACtB+G,EAAQ,EAAQ,GAChBrC,EAAU,EAAQ,IAClBzE,EAAa,EAAQ,GACrB+G,EAAW,EAAQ,IACnB6d,EAAW,EAAQ,IACnBiL,EAAa,EAAQ,IACrBzsB,EAAgB,EAAQ,IAExB6zB,EAAajjB,EAAW,OAAQ,aAChCpR,EAAO7C,EAAY,IAAI6C,MACvBiI,EAAS9K,EAAY,GAAG8K,QACxBqsB,EAAan3B,EAAY,GAAGm3B,YAC5BnX,EAAUhgB,EAAY,GAAGggB,SACzBoX,EAAiBp3B,EAAY,GAAIoE,UAEjCizB,EAAS,mBACTtC,EAAM,oBACNuC,EAAK,oBAELC,GAA4Bl0B,GAAiB0D,EAAM,WACrD,GAAIuO,GAASrB,EAAW,WAExB,OAA+B,UAAxBijB,GAAY5hB,KAEe,MAA7B4hB,GAAat2B,EAAG0U,KAEc,MAA9B4hB,EAAWj4B,OAAOqW,MAIrBkiB,EAAqBzwB,EAAM,WAC7B,MAAsC,qBAA/BmwB,EAAW,OACY,cAAzBA,EAAW,OAGdO,EAA0B,SAAU3xB,EAAI4xB,GAC1C,GAAI/vB,GAAOmoB,EAAWhvB,WAClB62B,EAAYD,CAChB,KAAK1wB,EAAS0wB,QAAoBlxB,KAAPV,KAAoB+e,EAAS/e,GAMxD,MALKpB,GAAQgzB,KAAWA,EAAW,SAAUr2B,EAAKiB,GAEhD,GADIrC,EAAW03B,KAAYr1B,EAAQ5D,EAAKi5B,EAAWx5B,KAAMkD,EAAKiB,KACzDuiB,EAASviB,GAAQ,MAAOA,KAE/BqF,EAAK,GAAK+vB,EACH33B,EAAMm3B,EAAY,KAAMvvB,IAG7BiwB,EAAe,SAAUriB,EAAOsiB,EAAQjU,GAC1C,GAAIkU,GAAOhtB,EAAO8Y,EAAQiU,EAAS,GAC/BtV,EAAOzX,EAAO8Y,EAAQiU,EAAS,EACnC,OAAKh1B,GAAKkyB,EAAKxf,KAAW1S,EAAKy0B,EAAI/U,IAAW1f,EAAKy0B,EAAI/hB,KAAW1S,EAAKkyB,EAAK+C,GACnE,MAAQV,EAAeD,EAAW5hB,EAAO,GAAI,IAC7CA,EAGP2hB,IAGF1J,GAAI5rB,OAAQ,OAAQG,MAAM,EAAM60B,MAAO,EAAGx0B,OAAQm1B,GAA4BC,IAE5EzZ,UAAW,SAAmBjY,EAAI4xB,EAAUK,GAC1C,GAAIpwB,GAAOmoB,EAAWhvB,WAClB0T,EAASzU,EAAMw3B,EAA2BE,EAA0BP,EAAY,KAAMvvB,EAC1F,OAAO6vB,IAAuC,gBAAVhjB,GAAqBwL,EAAQxL,EAAQ6iB,EAAQO,GAAgBpjB,M1Ng8NjG,SAAUzW,EAAQD,EAASM,G2NjgOjC,QAAS45B,GAAGh3B,EAASi3B,EAAKJ,GACxB,GAAIt5B,GAAI05B,GAAOJ,GAAU,CAEF,iBAAb,KACRI,EAAkB,WAAZj3B,EAAuB,GAAI+C,OAAM,IAAM,KAC7C/C,EAAU,MAEZA,EAAUA,KAEV,IAAIk3B,GAAOl3B,EAAQgpB,SAAWhpB,EAAQm3B,KAAOA,IAO7C,IAJAD,EAAK,GAAgB,GAAVA,EAAK,GAAa,GAC7BA,EAAK,GAAgB,GAAVA,EAAK,GAAa,IAGzBD,EACF,IAAK,GAAIG,GAAK,EAAGA,EAAK,KAAMA,EAC1BH,EAAI15B,EAAI65B,GAAMF,EAAKE,EAIvB,OAAOH,IAAOI,EAAYH,GAzB5B,GAAIC,GAAM,EAAQ,KACdE,EAAc,EAAQ,IA2B1Bt6B,GAAOD,QAAUk6B,G3N2gOX,SAAUj6B,EAAQD,EAASM,G4NviOjCL,EAAOD,QAAU,EAAQ,M5N6iOnB,SAAUC,EAAQD,EAASM,G6N7iOjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G7NojOX,SAAUpQ,EAAQD,EAASM,GAEjC,Y8NxjOAL,GAAOD,QAAU,U9N+jOX,SAAUC,EAAQD,EAASM,GAEjC,Y+NrjOA,SAASk6B,MA4BT,QAASC,GAAGr1B,EAAI0D,EAAS4xB,GACvBr6B,KAAK+E,GAAKA,EACV/E,KAAKyI,QAAUA,EACfzI,KAAKq6B,KAAOA,IAAQ,EAUtB,QAAS1X,KACP3iB,KAAKs6B,QAAU,GAAIH,GACnBn6B,KAAKu6B,aAAe,EArDtB,GAAI9nB,GAAM3R,OAAOS,UAAUC,eACvBg5B,EAAS,GAkBT15B,QAAO6F,SACTwzB,EAAO54B,UAAYT,OAAO6F,OAAO,OAM5B,GAAIwzB,IAAShT,YAAWqT,GAAS,IAqCxC7X,EAAaphB,UAAUk5B,WAAa,WAClC,GACIC,GACA/5B,EAFAiuB,IAIJ,IAA0B,IAAtB5uB,KAAKu6B,aAAoB,MAAO3L,EAEpC,KAAKjuB,IAAS+5B,GAAS16B,KAAKs6B,QACtB7nB,EAAIlS,KAAKm6B,EAAQ/5B,IAAOiuB,EAAM7oB,KAAKy0B,EAAS75B,EAAKqF,MAAM,GAAKrF,EAGlE,OAAIG,QAAOoW,sBACF0X,EAAMxT,OAAOta,OAAOoW,sBAAsBwjB,IAG5C9L,GAWTjM,EAAaphB,UAAUo5B,UAAY,SAAmBlI,EAAOmI,GAC3D,GAAIC,GAAML,EAASA,EAAS/H,EAAQA,EAChCqI,EAAY96B,KAAKs6B,QAAQO,EAE7B,IAAID,EAAQ,QAASE,CACrB,KAAKA,EAAW,QAChB,IAAIA,EAAU/1B,GAAI,OAAQ+1B,EAAU/1B,GAEpC,KAAK,GAAI3E,GAAI,EAAGC,EAAIy6B,EAAUl4B,OAAQm4B,EAAK,GAAIn1B,OAAMvF,GAAID,EAAIC,EAAGD,IAC9D26B,EAAG36B,GAAK06B,EAAU16B,GAAG2E,EAGvB,OAAOg2B,IAUTpY,EAAaphB,UAAU0hB,KAAO,SAAcwP,EAAOuI,EAAIC,EAAIC,EAAIC,EAAIC,GACjE,GAAIP,GAAML,EAASA,EAAS/H,EAAQA,CAEpC,KAAKzyB,KAAKs6B,QAAQO,GAAM,OAAO,CAE/B,IAEIrxB,GACApJ,EAHAu6B,EAAY36B,KAAKs6B,QAAQO,GACzBrf,EAAM7Y,UAAUC,MAIpB,IAAI+3B,EAAU51B,GAAI,CAGhB,OAFI41B,EAAUN,MAAMr6B,KAAKq7B,eAAe5I,EAAOkI,EAAU51B,OAAIsD,IAAW,GAEhEmT,GACN,IAAK,GAAG,MAAOmf,GAAU51B,GAAGxE,KAAKo6B,EAAUlyB,UAAU,CACrD,KAAK,GAAG,MAAOkyB,GAAU51B,GAAGxE,KAAKo6B,EAAUlyB,QAASuyB,IAAK,CACzD,KAAK,GAAG,MAAOL,GAAU51B,GAAGxE,KAAKo6B,EAAUlyB,QAASuyB,EAAIC,IAAK,CAC7D,KAAK,GAAG,MAAON,GAAU51B,GAAGxE,KAAKo6B,EAAUlyB,QAASuyB,EAAIC,EAAIC,IAAK,CACjE,KAAK,GAAG,MAAOP,GAAU51B,GAAGxE,KAAKo6B,EAAUlyB,QAASuyB,EAAIC,EAAIC,EAAIC,IAAK,CACrE,KAAK,GAAG,MAAOR,GAAU51B,GAAGxE,KAAKo6B,EAAUlyB,QAASuyB,EAAIC,EAAIC,EAAIC,EAAIC,IAAK,EAG3E,IAAKh7B,EAAI,EAAGoJ,EAAO,GAAI5D,OAAM4V,EAAK,GAAIpb,EAAIob,EAAKpb,IAC7CoJ,EAAKpJ,EAAI,GAAKuC,UAAUvC,EAG1Bu6B,GAAU51B,GAAGnD,MAAM+4B,EAAUlyB,QAASe,OACjC,CACL,GACI+R,GADA3Y,EAAS+3B,EAAU/3B,MAGvB,KAAKxC,EAAI,EAAGA,EAAIwC,EAAQxC,IAGtB,OAFIu6B,EAAUv6B,GAAGi6B,MAAMr6B,KAAKq7B,eAAe5I,EAAOkI,EAAUv6B,GAAG2E,OAAIsD,IAAW,GAEtEmT,GACN,IAAK,GAAGmf,EAAUv6B,GAAG2E,GAAGxE,KAAKo6B,EAAUv6B,GAAGqI,QAAU,MACpD,KAAK,GAAGkyB,EAAUv6B,GAAG2E,GAAGxE,KAAKo6B,EAAUv6B,GAAGqI,QAASuyB,EAAK,MACxD,KAAK,GAAGL,EAAUv6B,GAAG2E,GAAGxE,KAAKo6B,EAAUv6B,GAAGqI,QAASuyB,EAAIC,EAAK,MAC5D,KAAK,GAAGN,EAAUv6B,GAAG2E,GAAGxE,KAAKo6B,EAAUv6B,GAAGqI,QAASuyB,EAAIC,EAAIC,EAAK,MAChE,SACE,IAAK1xB,EAAM,IAAK+R,EAAI,EAAG/R,EAAO,GAAI5D,OAAM4V,EAAK,GAAID,EAAIC,EAAKD,IACxD/R,EAAK+R,EAAI,GAAK5Y,UAAU4Y,EAG1Bof,GAAUv6B,GAAG2E,GAAGnD,MAAM+4B,EAAUv6B,GAAGqI,QAASe,IAKpD,OAAO,GAYTmZ,EAAaphB,UAAUgb,GAAK,SAAYkW,EAAO1tB,EAAI0D,GACjD,GAAI+pB,GAAW,GAAI4H,GAAGr1B,EAAI0D,GAAWzI,MACjC66B,EAAML,EAASA,EAAS/H,EAAQA,CAMpC,OAJKzyB,MAAKs6B,QAAQO,GACR76B,KAAKs6B,QAAQO,GAAK91B,GACvB/E,KAAKs6B,QAAQO,IAAQ76B,KAAKs6B,QAAQO,GAAMrI,GADbxyB,KAAKs6B,QAAQO,GAAK90B,KAAKysB,IAD/BxyB,KAAKs6B,QAAQO,GAAOrI,EAAUxyB,KAAKu6B,gBAIpDv6B,MAYT2iB,EAAaphB,UAAU84B,KAAO,SAAc5H,EAAO1tB,EAAI0D,GACrD,GAAI+pB,GAAW,GAAI4H,GAAGr1B,EAAI0D,GAAWzI,MAAM,GACvC66B,EAAML,EAASA,EAAS/H,EAAQA,CAMpC,OAJKzyB,MAAKs6B,QAAQO,GACR76B,KAAKs6B,QAAQO,GAAK91B,GACvB/E,KAAKs6B,QAAQO,IAAQ76B,KAAKs6B,QAAQO,GAAMrI,GADbxyB,KAAKs6B,QAAQO,GAAK90B,KAAKysB,IAD/BxyB,KAAKs6B,QAAQO,GAAOrI,EAAUxyB,KAAKu6B,gBAIpDv6B,MAaT2iB,EAAaphB,UAAU85B,eAAiB,SAAwB5I,EAAO1tB,EAAI0D,EAAS4xB,GAClF,GAAIQ,GAAML,EAASA,EAAS/H,EAAQA,CAEpC,KAAKzyB,KAAKs6B,QAAQO,GAAM,MAAO76B,KAC/B,KAAK+E,EAGH,MAF4B,MAAtB/E,KAAKu6B,aAAoBv6B,KAAKs6B,QAAU,GAAIH,SACtCn6B,MAAKs6B,QAAQO,GAClB76B,IAGT,IAAI26B,GAAY36B,KAAKs6B,QAAQO,EAE7B,IAAIF,EAAU51B,GAEP41B,EAAU51B,KAAOA,GACfs1B,IAAQM,EAAUN,MAClB5xB,GAAWkyB,EAAUlyB,UAAYA,IAEV,KAAtBzI,KAAKu6B,aAAoBv6B,KAAKs6B,QAAU,GAAIH,SACtCn6B,MAAKs6B,QAAQO,QAEtB,CACL,IAAK,GAAIz6B,GAAI,EAAGs6B,KAAa93B,EAAS+3B,EAAU/3B,OAAQxC,EAAIwC,EAAQxC,KAE7Du6B,EAAUv6B,GAAG2E,KAAOA,GACnBs1B,IAASM,EAAUv6B,GAAGi6B,MACtB5xB,GAAWkyB,EAAUv6B,GAAGqI,UAAYA,IAExCiyB,EAAO30B,KAAK40B,EAAUv6B,GAOtBs6B,GAAO93B,OAAQ5C,KAAKs6B,QAAQO,GAAyB,IAAlBH,EAAO93B,OAAe83B,EAAO,GAAKA,EACxC,KAAtB16B,KAAKu6B,aAAoBv6B,KAAKs6B,QAAU,GAAIH,SAC3Cn6B,MAAKs6B,QAAQO,GAG3B,MAAO76B,OAUT2iB,EAAaphB,UAAU+5B,mBAAqB,SAA4B7I,GACtE,GAAIoI,EAaJ,OAXIpI,IACFoI,EAAML,EAASA,EAAS/H,EAAQA,EAC5BzyB,KAAKs6B,QAAQO,KACa,KAAtB76B,KAAKu6B,aAAoBv6B,KAAKs6B,QAAU,GAAIH,SACtCn6B,MAAKs6B,QAAQO,MAG3B76B,KAAKs6B,QAAU,GAAIH,GACnBn6B,KAAKu6B,aAAe,GAGfv6B,MAMT2iB,EAAaphB,UAAUg6B,IAAM5Y,EAAaphB,UAAU85B,eACpD1Y,EAAaphB,UAAUi6B,YAAc7Y,EAAaphB,UAAUgb,GAK5DoG,EAAaphB,UAAUk6B,gBAAkB,WACvC,MAAOz7B,OAMT2iB,EAAa+Y,SAAWlB,EAKxB7X,EAAaA,aAAeA,EAM1B/iB,EAAOD,QAAUgjB,G/NwkOb,SAAU/iB,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KgOp4OtD,EAAiB+J,EAAQ,IAAvB8Y,EAAN,EAAMA,WAEF6Y,GAAgB,UAAW,UAAW,aAAc,SAElD1e,GACJ,YACE,MAAO6F,GAAW,WAAW8Y,OAKjCD,GAAa7qB,QAAQ,SAAS+qB,GAC5B5e,EAAa4e,EAAU,SAAW,WAChC,GAAM5Z,GAAUa,EAAW,UAC3B,OAAO,WAAQjX,QAAQoW,EAAQ4Z,GAASj6B,MAAMqgB,EAAStf,aAGzDsa,EAAa4e,GAAW,WACtB,GAAM5Z,GAAUa,EAAW,UAC3B,KAAKb,EAAQ2Z,MACX,MAAO3Z,GAAQ4Z,GAASj6B,MAAMqgB,EAAStf,UAEzC,IAAMgC,GAAQ,GAAI+H,OAChB,oBAAsBmvB,EAAU,sCAGlC,MADAl3B,GAAM2I,KAAO,yBACP3I,KAIV/E,EAAOD,QAAUsd,GhOy4OX,SAAUrd,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C6J,EAAUvF,EAAuBtE,EAAoB,KAErD4b,EAAatX,EAAuBtE,EAAoB,KiOh7OtDgiB,EAAUjY,EAAQ,KAClBG,EAAKH,EAAQ,IAEb8xB,EAAen8B,EAAQm8B,YAAc7Z,EAAQ8Z,gBAAgB55B,KACjE8f,GAGI+Z,EAAe,SAACC,EAAW/4B,GAC/B,IACE+4B,EAAYvuB,KAAKC,MAAMsuB,GACvB,MAAOruB,GACP,MAAO,MAET,GAAIquB,EAAW,CAEb,MADgBA,GAAUC,WAAaD,EAAUC,UAAYxxB,KAAKD,MAI3DqxB,EAAY54B,GAAK4I,KAAK,iBAAM,QAF1BmwB,EAAU93B,MAIrB,MAAO,MAGTxE,GAAQw8B,SAAW,SAAAj5B,GAAO,KAExB,OADAA,IAAM,EAAH,0BAASiH,EAAGgB,cAAZ,aAA6BjI,GACzB+e,EAAQ/E,aAAaha,GAAK4I,KAAK,SAAAswB,GAAK,MAAIJ,GAAaI,EAAOl5B,MAGrEvD,EAAQ08B,SAAW,SAACn5B,EAAKiB,EAAOm4B,GAAQ,MAChCF,GAAUj4B,QAIhB,OAHmB,gBAARm4B,KACTF,EAAMF,UAAYxxB,KAAKD,MAAQ6xB,GAE1Bra,EAAQ9E,cAAR,4BACChT,EAAGgB,cADJ,aACqBjI,IAC1B,aAAek5B,MjOo8Ob,SAAUx8B,EAAQD,EAASM,GkOv+OjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GlO8+OX,SAAUpQ,EAAQD,EAASM,GmOh/OjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GnOu/OX,SAAUpQ,EAAQD,EAASM,GoOz/OjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GpOggPX,SAAUpQ,EAAQD,EAASM,GqOlgPjCL,EAAOD,QAAU,EAAQ,MrOwgPnB,SAAUC,EAAQD,EAASM,GsOxgPjC,GAAI+P,GAAS,EAAQ,IACrB,GAAQ,IAERpQ,EAAOD,QAAUqQ,GtO+gPX,SAAUpQ,EAAQD,EAASM,GuOlhPjC,GAAIisB,GAAkB,EAAQ,KAC1BxI,EAAoB,EAAQ,IAC5BwU,EAAiB,EAAQ,KAEzBqE,EAAS32B,MACTyD,EAAM/B,KAAK+B,GAEfzJ,GAAOD,QAAU,SAAUoS,EAAGyqB,EAAOC,GAKnC,IAAK,GAJD75B,GAAS8gB,EAAkB3R,GAC3B+M,EAAIoN,EAAgBsQ,EAAO55B,GAC3B85B,EAAMxQ,MAAwB7jB,KAARo0B,EAAoB75B,EAAS65B,EAAK75B,GACxDyT,EAASkmB,EAAOlzB,EAAIqzB,EAAM5d,EAAG,IACxB3d,EAAI,EAAG2d,EAAI4d,EAAK5d,IAAK3d,IAAK+2B,EAAe7hB,EAAQlV,EAAG4Q,EAAE+M,GAE/D,OADAzI,GAAOzT,OAASzB,EACTkV,IvO0hPH,SAAUzW,EAAQD,EAASM,GwOxiPjC,GAAIM,GAAO,EAAQ,IACfuV,EAAa,EAAQ,IACrBG,EAAkB,EAAQ,GAC1BwZ,EAAgB,EAAQ,GAE5B7vB,GAAOD,QAAU,WACf,GAAI0F,GAASyQ,EAAW,UACpB6mB,EAAkBt3B,GAAUA,EAAO9D,UACnCoI,EAAUgzB,GAAmBA,EAAgBhzB,QAC7CizB,EAAe3mB,EAAgB,cAE/B0mB,KAAoBA,EAAgBC,IAItCnN,EAAckN,EAAiBC,EAAc,SAAUC,GACrD,MAAOt8B,GAAKoJ,EAAS3J,QAClBy4B,MAAO,MxOijPV,SAAU74B,EAAQD,EAASM,GyOlkPjC,GAAIiF,GAAgB,EAAQ,GAG5BtF,GAAOD,QAAUuF,KAAmBG,OAAY,OAAOA,OAAOy3B,QzOykPxD,SAAUl9B,EAAQD,EAASM,G0O5kPL,EAAQ,GAId,a1OmlPhB,SAAUL,EAAQD,EAASM,G2OvlPjC,GAAI+P,GAAS,EAAQ,IACrB,GAAQ,IAERpQ,EAAOD,QAAUqQ,G3O8lPX,SAAUpQ,EAAQD,EAASM,G4OjmPjCL,EAAOD,QAAU,EAAQ,M5OumPnB,SAAUC,EAAQD,EAASM,G6OvmPjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G7O8mPX,SAAUpQ,EAAQD,EAASM,G8OhnPjCL,EAAOD,QAAU,EAAQ,M9OsnPnB,SAAUC,EAAQD,EAASM,GAEjC,Y+OvnPA,IAAI4B,GAAc,EAAQ,GACtB0U,EAAY,EAAQ,IACpB1N,EAAW,EAAQ,IACnBxG,EAAS,EAAQ,IACjBsvB,EAAa,EAAQ,IACrB/sB,EAAc,EAAQ,IAEtBm4B,EAAYj4B,SACZsW,EAASvZ,KAAeuZ,QACxB3L,EAAO5N,KAAe4N,MACtButB,KAEA9U,EAAY,SAAUzR,EAAGwmB,EAAYzzB,GACvC,IAAKnH,EAAO26B,EAAWC,GAAa,CAClC,IAAK,GAAI7W,MAAWhmB,EAAI,EAAGA,EAAI68B,EAAY78B,IAAKgmB,EAAKhmB,GAAK,KAAOA,EAAI,GACrE48B,GAAUC,GAAcF,EAAU,MAAO,gBAAkBttB,EAAK2W,EAAM,KAAO,KAC7E,MAAO4W,GAAUC,GAAYxmB,EAAGjN,GAKpC5J,GAAOD,QAAUiF,EAAcm4B,EAAU56B,KAAO,SAAcsV,GAC5D,GAAI0B,GAAI5C,EAAUvW,MACdk9B,EAAY/jB,EAAE5X,UACd47B,EAAWxL,EAAWhvB,UAAW,GACjCwnB,EAAgB,WAClB,GAAI3gB,GAAO4R,EAAO+hB,EAAUxL,EAAWhvB,WACvC,OAAO3C,gBAAgBmqB,GAAgBjC,EAAU/O,EAAG3P,EAAK5G,OAAQ4G,GAAQ2P,EAAEvX,MAAM6V,EAAMjO,GAGzF,OADIX,GAASq0B,KAAY/S,EAAc5oB,UAAY27B,GAC5C/S,I/O+nPH,SAAUvqB,EAAQD,EAASM,GgP9pPjCL,EAAOD,QAAU,EAAQ,MhPoqPnB,SAAUC,EAAQD,EAASM,GiPpqPjCL,EAAOD,QAAU,EAAQ,MjP0qPnB,SAAUC,EAAQD,GkP1qPxB,GAAIy9B,IAEFC,MAEEC,cAAe,SAASC,GACtB,MAAOH,GAAQI,IAAIF,cAAcG,SAASxS,mBAAmBsS,MAI/DG,cAAe,SAASC,GACtB,MAAOC,oBAAmB9H,OAAOsH,EAAQI,IAAIE,cAAcC,OAK/DH,KAEEF,cAAe,SAASC,GACtB,IAAK,GAAII,MAAYv9B,EAAI,EAAGA,EAAIm9B,EAAI36B,OAAQxC,IAC1Cu9B,EAAM53B,KAAyB,IAApBw3B,EAAIvE,WAAW54B,GAC5B,OAAOu9B,IAITD,cAAe,SAASC,GACtB,IAAK,GAAIJ,MAAUn9B,EAAI,EAAGA,EAAIu9B,EAAM/6B,OAAQxC,IAC1Cm9B,EAAIx3B,KAAKgD,OAAO80B,aAAaF,EAAMv9B,IACrC,OAAOm9B,GAAI9tB,KAAK,MAKtB7P,GAAOD,QAAUy9B,GlPirPX,SAAUx9B,EAAQD,GmPhtPxBC,EAAOD,QAAU,iDnPytPX,SAAUC,EAAQD,EAASM,GAEjC,YASA,SAASygB,GAAQlc,GACf,yBAYA,QATEkc,EAD6B,kBAApBod,GAAQC,SAAuD,gBAAtBC,GAAUD,QAClD,SAAiBv5B,GACzB,aAAcA,IAGN,SAAiBA,GACzB,MAAOA,IAAkC,kBAApBs5B,GAAQC,SAA0Bv5B,EAAI4L,cAAgB0tB,EAAQC,SAAWv5B,IAAQs5B,EAAQC,QAAQx8B,UAAY,eAAkBiD,KAIzIA,GoP1uPjB,QAASqE,GAASrE,GAChB,MAAe,QAARA,GAA+B,WAAfkc,EAAOlc,GpPstPhC,GAAID,GAAyBtE,EAAoB,GAE7C69B,EAAUv5B,EAAuBtE,EAAoB,KAErD+9B,EAAYz5B,EAAuBtE,EAAoB,KoPvtP3DL,GAAOD,QAAUkJ,GpPyvPX,SAAUjJ,EAAQD,EAASM,GAEjC,YqPvwPA,IAAMkK,GAAKH,EAAQ,KACbi0B,EAAcj0B,EAAQ,IAE5BpK,GAAOD,QAAUs+B,EAAY9zB,IrP+wPvB,SAAUvK,EAAQD,EAASM,GAEjC,YsPpxPAL,GAAOD,QAAUqK,EAAQ,MtP2xPnB,SAAUpK,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KuP3xPpDwJ,EAAIO,EAAQ,GAEZG,EAAKH,EAAQ,GAEnBG,GAAGV,EAAIA,EACPU,EAAGoC,QAAUvC,EAAQ,KACrBG,EAAGuQ,QAAH,UACAvQ,EAAG8S,aAAejT,EAAQ,KAC1BG,EAAG+zB,MAAQl0B,EAAQ,KACnBG,EAAGuC,MAAQ1C,EAAQ,IAEnBA,EAAQ,KACRA,EAAQ,KAAWG,GACnBH,EAAQ,KAAcG,GACtBH,EAAQ,KAASG,GACjBH,EAAQ,KAAQG,GAChBH,EAAQ,KAAcG,GACtBH,EAAQ,KAAUG,GAClBH,EAAQ,KAAYG,GACpBH,EAAQ,KAAUG,GAClBH,EAAQ,KAAUG,GAClBH,EAAQ,KAAWG,GACnBH,EAAQ,KAAgBG,GACxBH,EAAQ,KAAaG,GACrBH,EAAQ,KAAmBG,GAC3BH,EAAQ,KAAUG,GAClBH,EAAQ,KAAYG,GACpBH,EAAQ,KAAYG,GACpBH,EAAQ,KAAaG,GACrBH,EAAQ,KAAgBG,GAExBA,EAAGg0B,aAAen0B,EAAQ,KAC1BA,EAAQ,KACRpK,EAAOD,QAAUwK,GvP40PX,SAAUvK,EAAQD,EAASM,GwPp3PjC,GAAI+P,GAAS,EAAQ,IACrB,GAAQ,IAERpQ,EAAOD,QAAUqQ,GxP23PX,SAAUpQ,EAAQD,EAASM,GyP93PjC,EAAQ,KACR,EAAQ,IACR,EAAQ,IACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,GACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAKwY,SzPq4PhB,SAAU9a,EAAQD,EAASM,G0P94PjC,EAAQ,M1Ps5PF,SAAUL,EAAQD,EAASM,GAEjC,Y2Px5PA,IAAIovB,GAAI,EAAQ,GACZtnB,EAAgB,EAAQ,IACxB+e,EAAiB,EAAQ,IACzBE,EAAiB,EAAQ,IACzBoX,EAA4B,EAAQ,KACpCz3B,EAAS,EAAQ,IACjBvE,EAA8B,EAAQ,IACtCmQ,EAA2B,EAAQ,IACnC8rB,EAAkB,EAAQ,KAC1BC,EAAoB,EAAQ,KAC5BC,EAAU,EAAQ,IAClBC,EAA0B,EAAQ,KAClCvoB,EAAkB,EAAQ,GAC1BwoB,EAA0B,EAAQ,KAElCvoB,EAAgBD,EAAgB,eAChCyoB,EAAShyB,MACT3G,KAAUA,KAEV44B,EAAkB,SAAwBC,EAAQrxB,GACpD,GAEIkK,GAFA5U,EAAUF,UAAUC,OAAS,EAAID,UAAU,OAAK0F,GAChDw2B,EAAa92B,EAAc+2B,EAAyB9+B,KAEpDgnB,GACFvP,EAAOuP,EAAe,GAAI0X,GAAUG,EAAa/X,EAAe9mB,MAAQ8+B,IAExErnB,EAAOonB,EAAa7+B,KAAO2G,EAAOm4B,GAClC18B,EAA4BqV,EAAMvB,EAAe,cAEnC7N,KAAZkF,GAAuBnL,EAA4BqV,EAAM,UAAW+mB,EAAwBjxB,IAC5FkxB,GAAyBr8B,EAA4BqV,EAAM,QAAS4mB,EAAgB5mB,EAAKsnB,MAAO,IACpGT,EAAkB7mB,EAAM5U,EACxB,IAAIm8B,KAGJ,OAFAT,GAAQK,EAAQ74B,GAAQ0R,KAAMunB,IAC9B58B,EAA4BqV,EAAM,SAAUunB,GACrCvnB,EAGLuP,GAAgBA,EAAe2X,EAAiBD,GAC/CN,EAA0BO,EAAiBD,GAAU/9B,MAAM,GAEhE,IAAIm+B,GAA0BH,EAAgBp9B,UAAYoF,EAAO+3B,EAAOn9B,WACtE6O,YAAamC,EAAyB,EAAGosB,GACzCpxB,QAASgF,EAAyB,EAAG,IACrC5R,KAAM4R,EAAyB,EAAG,mBAKpC8c,IAAI1tB,QAAQ,EAAMyO,aAAa,EAAMqoB,MAAO,IAC1CwG,eAAgBN,K3Pg6PZ,SAAU/+B,EAAQD,EAASM,G4Pn9PjC,GAAIM,GAAO,EAAQ,IACfsI,EAAW,EAAQ,IACnB6d,EAAW,EAAQ,IACnBU,EAAY,EAAQ,KACpB8X,EAAsB,EAAQ,KAC9BjpB,EAAkB,EAAQ,GAE1BjN,EAAaC,UACb2zB,EAAe3mB,EAAgB,cAInCrW,GAAOD,QAAU,SAAUqb,EAAOmkB,GAChC,IAAKt2B,EAASmS,IAAU0L,EAAS1L,GAAQ,MAAOA,EAChD,IACI3E,GADA+oB,EAAehY,EAAUpM,EAAO4hB,EAEpC,IAAIwC,EAAc,CAGhB,OAFa/2B,KAAT82B,IAAoBA,EAAO,WAC/B9oB,EAAS9V,EAAK6+B,EAAcpkB,EAAOmkB,IAC9Bt2B,EAASwN,IAAWqQ,EAASrQ,GAAS,MAAOA,EAClD,MAAMrN,GAAW,2CAGnB,WADaX,KAAT82B,IAAoBA,EAAO,UACxBD,EAAoBlkB,EAAOmkB,K5P29P9B,SAAUv/B,EAAQD,EAASM,G6Pl/PjC,GAAIM,GAAO,EAAQ,IACfuB,EAAa,EAAQ,GACrB+G,EAAW,EAAQ,IAEnBG,EAAaC,SAIjBrJ,GAAOD,QAAU,SAAUqb,EAAOmkB,GAChC,GAAIp6B,GAAIs6B,CACR,IAAa,WAATF,GAAqBr9B,EAAWiD,EAAKiW,EAAM/U,YAAc4C,EAASw2B,EAAM9+B,EAAKwE,EAAIiW,IAAS,MAAOqkB,EACrG,IAAIv9B,EAAWiD,EAAKiW,EAAMrR,WAAad,EAASw2B,EAAM9+B,EAAKwE,EAAIiW,IAAS,MAAOqkB,EAC/E,IAAa,WAATF,GAAqBr9B,EAAWiD,EAAKiW,EAAM/U,YAAc4C,EAASw2B,EAAM9+B,EAAKwE,EAAIiW,IAAS,MAAOqkB,EACrG,MAAMr2B,GAAW,6C7P0/Pb,SAAUpJ,EAAQD,EAASM,G8PvgQjC,GAAI0B,GAAS,EAAQ,GAGjBZ,EAAiBD,OAAOC,cAE5BnB,GAAOD,QAAU,SAAUuD,EAAKiB,GAC9B,IACEpD,EAAeY,EAAQuB,GAAOiB,MAAOA,EAAOnD,cAAc,EAAMmR,UAAU,IAC1E,MAAOxN,GACPhD,EAAOuB,GAAOiB,EACd,MAAOA,K9P+gQL,SAAUvE,EAAQD,EAASM,G+PzhQjC,GAAI6B,GAAa,EAAQ,GAErBgH,EAAUC,OACVC,EAAaC,SAEjBrJ,GAAOD,QAAU,SAAU+H,GACzB,GAAuB,gBAAZA,IAAwB5F,EAAW4F,GAAW,MAAOA,EAChE,MAAMsB,GAAW,aAAeF,EAAQpB,GAAY,qB/PiiQhD,SAAU9H,EAAQD,EAASM,GgQxiQjC,GAAIoC,GAAS,EAAQ,IACjBi9B,EAAU,EAAQ,KAClBC,EAAiC,EAAQ,IACzCjtB,EAAuB,EAAQ,GAEnC1S,GAAOD,QAAU,SAAU8D,EAAQX,EAAQ08B,GAIzC,IAAK,GAHD/4B,GAAO64B,EAAQx8B,GACf/B,EAAiBuR,EAAqBtQ,EACtCD,EAA2Bw9B,EAA+Bv9B,EACrD5B,EAAI,EAAGA,EAAIqG,EAAK7D,OAAQxC,IAAK,CACpC,GAAI8C,GAAMuD,EAAKrG,EACViC,GAAOoB,EAAQP,IAAUs8B,GAAcn9B,EAAOm9B,EAAYt8B,IAC7DnC,EAAe0C,EAAQP,EAAKnB,EAAyBe,EAAQI,OhQkjQ7D,SAAUtD,EAAQD,EAASM,GiQ9jQjC,GAAI6V,GAAa,EAAQ,IACrBjU,EAAc,EAAQ,GACtB49B,EAA4B,EAAQ,KACpCC,EAA8B,EAAQ,KACtC/tB,EAAW,EAAQ,IAEnByJ,EAASvZ,KAAeuZ,OAG5Bxb,GAAOD,QAAUmW,EAAW,UAAW,YAAc,SAAiBnO,GACpE,GAAIlB,GAAOg5B,EAA0Bz9B,EAAE2P,EAAShK,IAC5CuP,EAAwBwoB,EAA4B19B,CACxD,OAAOkV,GAAwBkE,EAAO3U,EAAMyQ,EAAsBvP,IAAOlB,IjQskQrE,SAAU7G,EAAQD,GkQllQxB,GAAIggC,GAAOr4B,KAAKq4B,KACZrK,EAAQhuB,KAAKguB,KAKjB11B,GAAOD,QAAU2H,KAAKolB,OAAS,SAAezd,GAC5C,GAAI9N,IAAK8N,CACT,QAAQ9N,EAAI,EAAIm0B,EAAQqK,GAAMx+B,KlQ0lQ1B,SAAUvB,EAAQD,EAASM,GmQlmQjC,GAAIssB,GAAsB,EAAQ,KAE9BC,EAAMllB,KAAKklB,GAIf5sB,GAAOD,QAAU,SAAU+H,GACzB,MAAOA,GAAW,EAAI8kB,EAAID,EAAoB7kB,GAAW,kBAAoB,InQ0mQzE,SAAU9H,EAAQD,EAASM,GoQjnQjC,GAAI4B,GAAc,EAAQ,GAEtB68B,EAAShyB,MACTmV,EAAUhgB,EAAY,GAAGggB,SAEzB+d,EAAO,SAAWlH,GAAO,MAAO3vB,QAAO21B,EAAuB,UAAXK,UACnDc,EAA2B,uBAC3BC,EAAwBD,EAAyB1c,KAAKyc,EAE1DhgC,GAAOD,QAAU,SAAUo/B,EAAOgB,GAChC,GAAID,GAAyC,gBAATf,KAAsBL,EAAOsB,kBAC/D,KAAOD,KAAehB,EAAQld,EAAQkd,EAAOc,EAA0B,GACvE,OAAOd,KpQynQL,SAAUn/B,EAAQD,EAASM,GqQroQjC,GAAI4I,GAAW,EAAQ,IACnBzG,EAA8B,EAAQ,GAI1CxC,GAAOD,QAAU,SAAUoS,EAAGlP,GACxBgG,EAAShG,IAAY,SAAWA,IAClCT,EAA4B2P,EAAG,QAASlP,EAAQo9B,SrQ8oQ9C,SAAUrgC,EAAQD,EAASM,GsQrpQjC,GAAIgG,GAAW,EAAQ,GAEvBrG,GAAOD,QAAU,SAAU+H,EAAUw4B,GACnC,WAAoB73B,KAAbX,EAAyB/E,UAAUC,OAAS,EAAI,GAAKs9B,EAAWj6B,EAASyB,KtQ6pQ5E,SAAU9H,EAAQD,EAASM,GuQhqQjC,GAAI2I,GAAQ,EAAQ,GAChB2J,EAA2B,EAAQ,GAEvC3S,GAAOD,SAAWiJ,EAAM,WACtB,GAAIjE,GAAQ+H,MAAM,IAClB,SAAM,SAAW/H,MAEjB7D,OAAOC,eAAe4D,EAAO,QAAS4N,EAAyB,EAAG,IAC3C,IAAhB5N,EAAMo6B,UvQwqQT,SAAUn/B,EAAQD,EAASM,GwQhrQjC,GAAI0B,GAAS,EAAQ,GACjBG,EAAa,EAAQ,GACrB+iB,EAAgB,EAAQ,KAExB0C,EAAU5lB,EAAO4lB,OAErB3nB,GAAOD,QAAUmC,EAAWylB,IAAY,cAAcpE,KAAK0B,EAAc0C,KxQurQnE,SAAU3nB,EAAQD,EAASM,GAEjC,YyQ9rQA,IAAI8vB,GAAoB,EAAQ,KAA+BA,kBAC3DppB,EAAS,EAAQ,IACjB4L,EAA2B,EAAQ,IACnCid,EAAiB,EAAQ,IACzB9V,EAAY,EAAQ,IAEpBuW,EAAa,WAAc,MAAOjwB,MAEtCJ,GAAOD,QAAU,SAAUwwB,EAAqB1oB,EAAM2c,EAAM+b,GAC1D,GAAIjqB,GAAgBzO,EAAO,WAI3B,OAHA0oB,GAAoB5uB,UAAYoF,EAAOopB,GAAqB3L,KAAM7R,IAA2B4tB,EAAiB/b,KAC9GoL,EAAeW,EAAqBja,GAAe,GAAO,GAC1DwD,EAAUxD,GAAiB+Z,EACpBE,IzQssQH,SAAUvwB,EAAQD,EAASM,GAEjC,Y0QrtQA,IAAI8V,GAAwB,EAAQ,KAChCvD,EAAU,EAAQ,GAItB5S,GAAOD,QAAUoW,KAA2B9P,SAAW,WACrD,MAAO,WAAauM,EAAQxS,MAAQ,M1Q6tQhC,SAAUJ,EAAQD,EAASM,G2QnuQjC,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,M3Q2uQF,SAAUL,EAAQD,EAASM,GAEjC,Y4QlvQA,IAgDImgC,GAAUC,EAAsCC,EAhDhDjR,EAAI,EAAQ,GACZxV,EAAU,EAAQ,IAClBiY,EAAU,EAAQ,IAClBnwB,EAAS,EAAQ,GACjBpB,EAAO,EAAQ,IACfkvB,EAAgB,EAAQ,IACxBzI,EAAiB,EAAQ,IACzBwI,EAAiB,EAAQ,IACzB+Q,EAAa,EAAQ,KACrBhqB,EAAY,EAAQ,IACpBzU,EAAa,EAAQ,GACrB+G,EAAW,EAAQ,IACnB23B,EAAa,EAAQ,KACrBC,EAAqB,EAAQ,KAC7BC,EAAO,EAAQ,KAAqB3mB,IACpC4mB,EAAY,EAAQ,KACpBC,EAAmB,EAAQ,KAC3BC,EAAU,EAAQ,IAClBC,EAAQ,EAAQ,KAChBnnB,EAAsB,EAAQ,IAC9BiL,EAA2B,EAAQ,IACnCmc,EAA8B,EAAQ,IACtCC,EAA6B,EAAQ,IAGrC5b,EAA6B2b,EAA4Bl3B,YACzDqb,EAAiC6b,EAA4Bvb,gBAC7Dyb,EAA6BF,EAA4B9b,YACzDic,EAA0BvnB,EAAoBM,UAJpC,WAKVH,EAAmBH,EAAoBI,IACvCgL,EAAyBH,GAA4BA,EAAyBrjB,UAC9E4/B,EAAqBvc,EACrBwc,EAAmBrc,EACnB9b,EAAYtH,EAAOsH,UACnB0F,EAAWhN,EAAOgN,SAClB0I,EAAU1V,EAAO0V,QACjByc,EAAuBkN,EAA2Bh/B,EAClDq/B,EAA8BvN,EAE9BwN,KAAoB3yB,GAAYA,EAAS4yB,aAAe5/B,EAAO6/B,eAY/DC,EAAa,SAAU95B,GACzB,GAAImE,EACJ,UAAOjD,EAASlB,KAAO7F,EAAWgK,EAAOnE,EAAGmE,QAAQA,GAGlD41B,EAAe,SAAUC,EAAUvnB,GACrC,GAMI/D,GAAQvK,EAAM81B,EANdz9B,EAAQiW,EAAMjW,MACdmnB,EAfU,GAeLlR,EAAMA,MACX0Y,EAAUxH,EAAKqW,EAASrW,GAAKqW,EAASE,KACtCh2B,EAAU81B,EAAS91B,QACnB6K,EAASirB,EAASjrB,OAClB4C,EAASqoB,EAASroB,MAEtB,KACMwZ,GACGxH,IApBK,IAqBJlR,EAAM0nB,WAAyBC,EAAkB3nB,GACrDA,EAAM0nB,UAvBA,IAyBQ,IAAZhP,EAAkBzc,EAASlS,GAEzBmV,GAAQA,EAAO0oB,QACnB3rB,EAASyc,EAAQ3uB,GACbmV,IACFA,EAAO2oB,OACPL,GAAS,IAGTvrB,IAAWsrB,EAAShrB,QACtBD,EAAOzN,EAAU,yBACR6C,EAAO21B,EAAWprB,IAC3B9V,EAAKuL,EAAMuK,EAAQxK,EAAS6K,GACvB7K,EAAQwK,IACVK,EAAOvS,GACd,MAAOQ,GACH2U,IAAWsoB,GAAQtoB,EAAO2oB,OAC9BvrB,EAAO/R,KAIPu9B,EAAS,SAAU9nB,EAAO+nB,GACxB/nB,EAAMgoB,WACVhoB,EAAMgoB,UAAW,EACjBzB,EAAU,WAGR,IAFA,GACIgB,GADAU,EAAYjoB,EAAMioB,UAEfV,EAAWU,EAAUnhC,OAC1BwgC,EAAaC,EAAUvnB,EAEzBA,GAAMgoB,UAAW,EACbD,IAAa/nB,EAAM0nB,WAAWQ,EAAYloB,OAI9ConB,EAAgB,SAAU7gC,EAAMgW,EAAS4rB,GAC3C,GAAI9P,GAAOK,CACPwO,IACF7O,EAAQ9jB,EAAS4yB,YAAY,SAC7B9O,EAAM9b,QAAUA,EAChB8b,EAAM8P,OAASA,EACf9P,EAAM+P,UAAU7hC,GAAM,GAAO,GAC7BgB,EAAO6/B,cAAc/O,IAChBA,GAAU9b,QAASA,EAAS4rB,OAAQA,IACtCrd,IAAmC4N,EAAUnxB,EAAO,KAAOhB,IAAQmyB,EAAQL,GA1ExD,uBA2Ef9xB,GAA8BigC,EAAiB,8BAA+B2B,IAGrFD,EAAc,SAAUloB,GAC1B7Z,EAAKmgC,EAAM/+B,EAAQ,WACjB,GAGI0U,GAHAM,EAAUyD,EAAM0N,OAChB3jB,EAAQiW,EAAMjW,MACds+B,EAAeC,EAAYtoB,EAE/B,IAAIqoB,IACFpsB,EAASwqB,EAAQ,WACX/O,EACFza,EAAQ4L,KAAK,qBAAsB9e,EAAOwS,GACrC6qB,EAxFW,qBAwFwB7qB,EAASxS,KAGrDiW,EAAM0nB,UAAYhQ,GAAW4Q,EAAYtoB,GArF/B,EADF,EAuFJ/D,EAAO1R,OAAO,KAAM0R,GAAOlS,SAKjCu+B,EAAc,SAAUtoB,GAC1B,MA7FY,KA6FLA,EAAM0nB,YAA0B1nB,EAAMpK,QAG3C+xB,EAAoB,SAAU3nB,GAChC7Z,EAAKmgC,EAAM/+B,EAAQ,WACjB,GAAIgV,GAAUyD,EAAM0N,MAChBgK,GACFza,EAAQ4L,KAAK,mBAAoBtM,GAC5B6qB,EAzGa,mBAyGoB7qB,EAASyD,EAAMjW,UAIvDhC,EAAO,SAAU4C,EAAIqV,EAAOuoB,GAC9B,MAAO,UAAUx+B,GACfY,EAAGqV,EAAOjW,EAAOw+B,KAIjBC,EAAiB,SAAUxoB,EAAOjW,EAAOw+B,GACvCvoB,EAAMC,OACVD,EAAMC,MAAO,EACTsoB,IAAQvoB,EAAQuoB,GACpBvoB,EAAMjW,MAAQA,EACdiW,EAAMA,MArHO,EAsHb8nB,EAAO9nB,GAAO,KAGZyoB,EAAkB,SAAUzoB,EAAOjW,EAAOw+B,GAC5C,IAAIvoB,EAAMC,KAAV,CACAD,EAAMC,MAAO,EACTsoB,IAAQvoB,EAAQuoB,EACpB,KACE,GAAIvoB,EAAM0N,SAAW3jB,EAAO,KAAM8E,GAAU,mCAC5C,IAAI6C,GAAO21B,EAAWt9B,EAClB2H,GACF60B,EAAU,WACR,GAAImC,IAAYzoB,MAAM,EACtB,KACE9Z,EAAKuL,EAAM3H,EACThC,EAAK0gC,EAAiBC,EAAS1oB,GAC/BjY,EAAKygC,EAAgBE,EAAS1oB,IAEhC,MAAOzV,GACPi+B,EAAeE,EAASn+B,EAAOyV,OAInCA,EAAMjW,MAAQA,EACdiW,EAAMA,MA/II,EAgJV8nB,EAAO9nB,GAAO,IAEhB,MAAOzV,GACPi+B,GAAiBvoB,MAAM,GAAS1V,EAAOyV,KAK3C,IAAIgL,IAEF+b,EAAqB,SAAiB4B,GACpCvC,EAAWxgC,KAAMohC,GACjB7qB,EAAUwsB,GACVxiC,EAAK6/B,EAAUpgC,KACf,IAAIoa,GAAQ8mB,EAAwBlhC,KACpC,KACE+iC,EAAS5gC,EAAK0gC,EAAiBzoB,GAAQjY,EAAKygC,EAAgBxoB,IAC5D,MAAOzV,GACPi+B,EAAexoB,EAAOzV,KAI1By8B,EAAmBD,EAAmB5/B,UAGtC6+B,EAAW,SAAiB2C,GAC1BjpB,EAAiB9Z,MACf8W,KA9LQ,UA+LRuD,MAAM,EACN+nB,UAAU,EACVpyB,QAAQ,EACRqyB,UAAW,GAAIvB,GACfgB,WAAW,EACX1nB,MAlLQ,EAmLRjW,UAAOkE,MAMX+3B,EAAS7+B,UAAYkuB,EAAc2R,EAAkB,OAAQ,SAAc4B,EAAaC,GACtF,GAAI7oB,GAAQ8mB,EAAwBlhC,MAChC2hC,EAAW7N,EAAqB2M,EAAmBzgC,KAAMmhC,GAS7D,OARA/mB,GAAMpK,QAAS,EACf2xB,EAASrW,IAAKxpB,EAAWkhC,IAAeA,EACxCrB,EAASE,KAAO//B,EAAWmhC,IAAeA,EAC1CtB,EAASroB,OAASwY,EAAUza,EAAQiC,WAASjR,GA/LnC,GAgMN+R,EAAMA,MAAkBA,EAAMioB,UAAUa,IAAIvB,GAC3ChB,EAAU,WACbe,EAAaC,EAAUvnB,KAElBunB,EAAShrB,UAGlB0pB,EAAuB,WACrB,GAAI1pB,GAAU,GAAIypB,GACdhmB,EAAQ8mB,EAAwBvqB,EACpC3W,MAAK2W,QAAUA,EACf3W,KAAK6L,QAAU1J,EAAK0gC,EAAiBzoB,GACrCpa,KAAK0W,OAASvU,EAAKygC,EAAgBxoB,IAGrC4mB,EAA2Bh/B,EAAI8xB,EAAuB,SAAUrd,GAC9D,MAAOA,KAAM0qB,OA1MmBgC,KA0MG1sB,EAC/B,GAAI4pB,GAAqB5pB,GACzB4qB,EAA4B5qB,KAG7BoD,GAAW/X,EAAW8iB,IAA6BG,IAA2BjkB,OAAOS,WAAW,CACnG++B,EAAavb,EAAuBjZ,KAE/Bm1B,GAEHxR,EAAc1K,EAAwB,OAAQ,SAAcie,EAAaC,GACvE,GAAIxrB,GAAOzX,IACX,OAAO,IAAImhC,GAAmB,SAAUt1B,EAAS6K,GAC/CnW,EAAK+/B,EAAY7oB,EAAM5L,EAAS6K,KAC/B5K,KAAKk3B,EAAaC,KAElBG,QAAQ,GAIf,WACSre,GAAuB3U,YAC9B,MAAOzL,IAGLqiB,GACFA,EAAejC,EAAwBqc,GAK7C/R,GAAI1tB,QAAQ,EAAMyO,aAAa,EAAMhM,MAAM,EAAMH,OAAQmhB,IACvD1K,QAASymB,IAGX3R,EAAe2R,EArQD,WAqQ8B,GAAO,GACnDZ,EAtQc,Y5Q+/QR,SAAU3gC,EAAQD,EAASM,GAEjC,Y6QzhRA,IAAI6V,GAAa,EAAQ,IACrBxD,EAAuB,EAAQ,IAC/B2D,EAAkB,EAAQ,GAC1BzE,EAAc,EAAQ,IAEtBwT,EAAU/O,EAAgB,UAE9BrW,GAAOD,QAAU,SAAU0jC,GACzB,GAAIC,GAAcxtB,EAAWutB,GACzBtiC,EAAiBuR,EAAqBtQ,CAEtCwP,IAAe8xB,IAAgBA,EAAYte,IAC7CjkB,EAAeuiC,EAAate,GAC1BhkB,cAAc,EACdE,IAAK,WAAc,MAAOlB,W7QmiR1B,SAAUJ,EAAQD,EAASM,G8QljRjC,GAAI8H,GAAgB,EAAQ,IAExBiB,EAAaC,SAEjBrJ,GAAOD,QAAU,SAAUgI,EAAIu1B,GAC7B,GAAIn1B,EAAcm1B,EAAWv1B,GAAK,MAAOA,EACzC,MAAMqB,GAAW,0B9Q0jRb,SAAUpJ,EAAQD,G+QhkRxB,GAAIqJ,GAAaC,SAEjBrJ,GAAOD,QAAU,SAAU4jC,EAAQC,GACjC,GAAID,EAASC,EAAU,KAAMx6B,GAAW,uBACxC,OAAOu6B,K/QwkRH,SAAU3jC,EAAQD,EAASM,GgR5kRjC,GAiBIwjC,GAAOC,EAAMlM,EAAM0K,EAAQyB,EAAQC,EAAMjtB,EAAS7K,EAjBlDnK,EAAS,EAAQ,GACjBQ,EAAO,EAAQ,IACfJ,EAA2B,EAAQ,IAAmDC,EACtF6hC,EAAY,EAAQ,KAAqB9pB,IACzC8X,EAAS,EAAQ,KACjBiS,EAAgB,EAAQ,KACxBC,EAAkB,EAAQ,KAC1BjS,EAAU,EAAQ,IAElBkS,EAAmBriC,EAAOqiC,kBAAoBriC,EAAOsiC,uBACrDt1B,EAAWhN,EAAOgN,SAClB0I,EAAU1V,EAAO0V,QACjBqD,EAAU/Y,EAAO+Y,QAEjBwpB,EAA2BniC,EAAyBJ,EAAQ,kBAC5DwiC,EAAiBD,GAA4BA,EAAyB//B,KAKrEggC,KACHV,EAAQ,WACN,GAAIzzB,GAAQjL,CAEZ,KADI+sB,IAAY9hB,EAASqH,EAAQiC,SAAStJ,EAAOiyB,OAC1CyB,GAAM,CACX3+B,EAAK2+B,EAAK3+B,GACV2+B,EAAOA,EAAKtf,IACZ,KACErf,IACA,MAAOJ,GAGP,KAFI++B,GAAMxB,IACL1K,MAAOnvB,GACN1D,GAER6yB,MAAOnvB,GACL2H,GAAQA,EAAOgyB,SAKhBnQ,GAAWC,GAAYiS,IAAmBC,IAAoBr1B,GAQvDm1B,GAAiBppB,GAAWA,EAAQ7O,SAE9C8K,EAAU+D,EAAQ7O,YAAQxD,IAE1BsO,EAAQvG,YAAcsK,EACtB5O,EAAO3J,EAAKwU,EAAQ7K,KAAM6K,GAC1BurB,EAAS,WACPp2B,EAAK23B,KAGE3R,EACToQ,EAAS,WACP7qB,EAAQ0b,SAAS0Q,KAUnBI,EAAY1hC,EAAK0hC,EAAWliC,GAC5BugC,EAAS,WACP2B,EAAUJ,MA/BZE,GAAS,EACTC,EAAOj1B,EAASy1B,eAAe,IAC/B,GAAIJ,GAAiBP,GAAOY,QAAQT,GAAQU,eAAe,IAC3DpC,EAAS,WACP0B,EAAK92B,KAAO62B,GAAUA,KAgC5B/jC,EAAOD,QAAUwkC,GAAkB,SAAUp/B,GAC3C,GAAI27B,IAAS37B,GAAIA,EAAIqf,SAAM/b,GACvBmvB,KAAMA,EAAKpT,KAAOsc,GACjBgD,IACHA,EAAOhD,EACPwB,KACA1K,EAAOkJ,IhRolRL,SAAU9gC,EAAQD,EAASM,GiRvqRjC,GAAI2L,GAAY,EAAQ,IACpBjK,EAAS,EAAQ,EAErB/B,GAAOD,QAAU,oBAAoBwjB,KAAKvX,QAAgCvD,KAAlB1G,EAAO4iC,QjR8qRzD,SAAU3kC,EAAQD,EAASM,GkRjrRjC,GAAI2L,GAAY,EAAQ,GAExBhM,GAAOD,QAAU,qBAAqBwjB,KAAKvX,IlRwrRrC,SAAUhM,EAAQD,EAASM,GmR1rRjC,GAAI0B,GAAS,EAAQ,EAErB/B,GAAOD,QAAU,SAAU8C,EAAGC,GAC5B,GAAI6I,GAAU5J,EAAO4J,OACjBA,IAAWA,EAAQ5G,QACD,GAApBhC,UAAUC,OAAc2I,EAAQ5G,MAAMlC,GAAK8I,EAAQ5G,MAAMlC,EAAGC,MnRmsR1D,SAAU9C,EAAQD,GoRxsRxB,GAAImhC,GAAQ,WACV9gC,KAAK0jC,KAAO,KACZ1jC,KAAKwkC,KAAO,KAGd1D,GAAMv/B,WACJ2hC,IAAK,SAAU5c,GACb,GAAIme,IAAUne,KAAMA,EAAMlC,KAAM,KAC5BpkB,MAAK0jC,KAAM1jC,KAAKwkC,KAAKpgB,KAAOqgB,EAC3BzkC,KAAK0jC,KAAOe,EACjBzkC,KAAKwkC,KAAOC,GAEdvjC,IAAK,WACH,GAAIujC,GAAQzkC,KAAK0jC,IACjB,IAAIe,EAGF,MAFAzkC,MAAK0jC,KAAOe,EAAMrgB,KACdpkB,KAAKwkC,OAASC,IAAOzkC,KAAKwkC,KAAO,MAC9BC,EAAMne,OAKnB1mB,EAAOD,QAAUmhC,GpR+sRX,SAAUlhC,EAAQD,GqRruRxBC,EAAOD,QAA2B,gBAAVmI,SAAqC,gBAARwP,OrR4uR/C,SAAU1X,EAAQD,EAASM,GAEjC,YsR7uRA,IAAIovB,GAAI,EAAQ,GACZ9uB,EAAO,EAAQ,IACfgW,EAAY,EAAQ,IACpByqB,EAA6B,EAAQ,IACrCH,EAAU,EAAQ,IAClBtC,EAAU,EAAQ,GAKtBlP,IAAI5rB,OAAQ,UAAWG,MAAM,EAAMK,OAJO,EAAQ,OAKhDuvB,IAAK,SAAavP,GAChB,GAAIxN,GAAIzW,KACJ0kC,EAAa1D,EAA2Bh/B,EAAEyU,GAC1C5K,EAAU64B,EAAW74B,QACrB6K,EAASguB,EAAWhuB,OACpBL,EAASwqB,EAAQ,WACnB,GAAI8D,GAAkBpuB,EAAUE,EAAE5K,SAC9ByO,KACA8X,EAAU,EACVwS,EAAY,CAChBrG,GAAQta,EAAU,SAAUtN,GAC1B,GAAIpN,GAAQ6oB,IACRyS,GAAgB,CACpBD,KACArkC,EAAKokC,EAAiBluB,EAAGE,GAAS7K,KAAK,SAAU3H,GAC3C0gC,IACJA,GAAgB,EAChBvqB,EAAO/Q,GAASpF,IACdygC,GAAa/4B,EAAQyO,KACtB5D,OAEHkuB,GAAa/4B,EAAQyO,IAGzB,OADIjE,GAAO1R,OAAO+R,EAAOL,EAAOlS,OACzBugC,EAAW/tB,YtRsvRhB,SAAU/W,EAAQD,EAASM,GAEjC,YuR3xRA,IAAIovB,GAAI,EAAQ,GACZxV,EAAU,EAAQ,IAClBuL,EAA6B,EAAQ,IAA8Cvb,YACnF+a,EAA2B,EAAQ,IACnC9O,EAAa,EAAQ,IACrBhU,EAAa,EAAQ,GACrB2tB,EAAgB,EAAQ,IAExB1K,EAAyBH,GAA4BA,EAAyBrjB,SAWlF,IAPA8tB,GAAI5rB,OAAQ,UAAWK,OAAO,EAAMG,OAAQmhB,EAA4B9gB,MAAM,IAC5E,MAAS,SAAU2+B,GACjB,MAAOjjC,MAAK8L,SAAKzD,GAAW46B,OAK3BppB,GAAW/X,EAAW8iB,GAA2B,CACpD,GAAIrc,GAASuN,EAAW,WAAWvU,UAAiB,KAChDwjB,GAA8B,QAAMxc,GACtCknB,EAAc1K,EAAwB,QAASxc,GAAU66B,QAAQ,MvRoyR/D,SAAUxjC,EAAQD,EAASM,GAEjC,YwR5zRA,IAAIovB,GAAI,EAAQ,GACZ9uB,EAAO,EAAQ,IACfgW,EAAY,EAAQ,IACpByqB,EAA6B,EAAQ,IACrCH,EAAU,EAAQ,IAClBtC,EAAU,EAAQ,GAKtBlP,IAAI5rB,OAAQ,UAAWG,MAAM,EAAMK,OAJO,EAAQ,OAKhD6gC,KAAM,SAAc7gB,GAClB,GAAIxN,GAAIzW,KACJ0kC,EAAa1D,EAA2Bh/B,EAAEyU,GAC1CC,EAASguB,EAAWhuB,OACpBL,EAASwqB,EAAQ,WACnB,GAAI8D,GAAkBpuB,EAAUE,EAAE5K,QAClC0yB,GAAQta,EAAU,SAAUtN,GAC1BpW,EAAKokC,EAAiBluB,EAAGE,GAAS7K,KAAK44B,EAAW74B,QAAS6K,MAI/D,OADIL,GAAO1R,OAAO+R,EAAOL,EAAOlS,OACzBugC,EAAW/tB,YxRq0RhB,SAAU/W,EAAQD,EAASM,GAEjC,YyR71RA,IAAIovB,GAAI,EAAQ,GACZ9uB,EAAO,EAAQ,IACfygC,EAA6B,EAAQ,GAKzC3R,IAAI5rB,OAAQ,UAAWG,MAAM,EAAMK,OAJF,EAAQ,IAA8C4F,cAKrF6M,OAAQ,SAAgB2L,GACtB,GAAIqiB,GAAa1D,EAA2Bh/B,EAAEhC,KAE9C,OADAO,GAAKmkC,EAAWhuB,WAAQrO,GAAWga,GAC5BqiB,EAAW/tB,YzRs2RhB,SAAU/W,EAAQD,EAASM,GAEjC,Y0Rn3RA,IAAIovB,GAAI,EAAQ,GACZvZ,EAAa,EAAQ,IACrB+D,EAAU,EAAQ,IAClB+K,EAA2B,EAAQ,IACnCQ,EAA6B,EAAQ,IAA8Cvb,YACnFk7B,EAAiB,EAAQ,KAEzBC,EAA4BlvB,EAAW,WACvCmvB,EAAgBprB,IAAYuL,CAIhCiK,IAAI5rB,OAAQ,UAAWG,MAAM,EAAMK,OAAQ4V,GAAWuL,IACpDvZ,QAAS,SAAiBoD,GACxB,MAAO81B,GAAeE,GAAiBjlC,OAASglC,EAA4BpgB,EAA2B5kB,KAAMiP,O1R43R3G,SAAUrP,EAAQD,EAASM,GAEjC,Y2R54RA,IAAIovB,GAAI,EAAQ,GACZ9uB,EAAO,EAAQ,IACfgW,EAAY,EAAQ,IACpByqB,EAA6B,EAAQ,IACrCH,EAAU,EAAQ,IAClBtC,EAAU,EAAQ,GAItBlP,IAAI5rB,OAAQ,UAAWG,MAAM,IAC3BshC,WAAY,SAAoBjhB,GAC9B,GAAIxN,GAAIzW,KACJ0kC,EAAa1D,EAA2Bh/B,EAAEyU,GAC1C5K,EAAU64B,EAAW74B,QACrB6K,EAASguB,EAAWhuB,OACpBL,EAASwqB,EAAQ,WACnB,GAAIkE,GAAiBxuB,EAAUE,EAAE5K,SAC7ByO,KACA8X,EAAU,EACVwS,EAAY,CAChBrG,GAAQta,EAAU,SAAUtN,GAC1B,GAAIpN,GAAQ6oB,IACRyS,GAAgB,CACpBD,KACArkC,EAAKwkC,EAAgBtuB,EAAGE,GAAS7K,KAAK,SAAU3H,GAC1C0gC,IACJA,GAAgB,EAChBvqB,EAAO/Q,IAAW6hB,OAAQ,YAAajnB,MAAOA,KAC5CygC,GAAa/4B,EAAQyO,KACtB,SAAU3V,GACPkgC,IACJA,GAAgB,EAChBvqB,EAAO/Q,IAAW6hB,OAAQ,WAAYmX,OAAQ59B,KAC5CigC,GAAa/4B,EAAQyO,UAGzBsqB,GAAa/4B,EAAQyO,IAGzB,OADIjE,GAAO1R,OAAO+R,EAAOL,EAAOlS,OACzBugC,EAAW/tB,Y3Rq5RhB,SAAU/W,EAAQD,EAASM,GAEjC,Y4R97RA,IAAIovB,GAAI,EAAQ,GACZ9uB,EAAO,EAAQ,IACfgW,EAAY,EAAQ,IACpBT,EAAa,EAAQ,IACrBkrB,EAA6B,EAAQ,IACrCH,EAAU,EAAQ,IAClBtC,EAAU,EAAQ,GAMtBlP,IAAI5rB,OAAQ,UAAWG,MAAM,IAC3BuhC,IAAK,SAAalhB,GAChB,GAAIxN,GAAIzW,KACJi/B,EAAiBnpB,EAAW,kBAC5B4uB,EAAa1D,EAA2Bh/B,EAAEyU,GAC1C5K,EAAU64B,EAAW74B,QACrB6K,EAASguB,EAAWhuB,OACpBL,EAASwqB,EAAQ,WACnB,GAAIkE,GAAiBxuB,EAAUE,EAAE5K,SAC7B+yB,KACAxM,EAAU,EACVwS,EAAY,EACZQ,GAAkB,CACtB7G,GAAQta,EAAU,SAAUtN,GAC1B,GAAIpN,GAAQ6oB,IACRiT,GAAkB,CACtBT,KACArkC,EAAKwkC,EAAgBtuB,EAAGE,GAAS7K,KAAK,SAAU3H,GAC1CkhC,GAAmBD,IACvBA,GAAkB,EAClBv5B,EAAQ1H,KACP,SAAUQ,GACP0gC,GAAmBD,IACvBC,GAAkB,EAClBzG,EAAOr1B,GAAS5E,IACdigC,GAAaluB,EAAO,GAAIuoB,GAAeL,EA7B3B,mCAgChBgG,GAAaluB,EAAO,GAAIuoB,GAAeL,EAhCvB,6BAmCpB,OADIvoB,GAAO1R,OAAO+R,EAAOL,EAAOlS,OACzBugC,EAAW/tB,Y5Ru8RhB,SAAU/W,EAAQD,EAASM,GAEjC,Y6Rp/RA,IAAIovB,GAAI,EAAQ,GACZxV,EAAU,EAAQ,IAClB+K,EAA2B,EAAQ,IACnChc,EAAQ,EAAQ,GAChBkN,EAAa,EAAQ,IACrBhU,EAAa,EAAQ,GACrB2+B,EAAqB,EAAQ,KAC7BsE,EAAiB,EAAQ,KACzBtV,EAAgB,EAAQ,IAExB1K,EAAyBH,GAA4BA,EAAyBrjB,SA0BlF,IAhBA8tB,GAAI5rB,OAAQ,UAAWK,OAAO,EAAMQ,MAAM,EAAML,SAP5B2gB,GAA4Bhc,EAAM,WAEpDmc,EAAgC,QAAExkB,MAAOuL,KAAM,cAA+B,kBAM9E,QAAW,SAAUw5B,GACnB,GAAI7uB,GAAIgqB,EAAmBzgC,KAAM8V,EAAW,YACxCrH,EAAa3M,EAAWwjC,EAC5B,OAAOtlC,MAAK8L,KACV2C,EAAa,SAAUQ,GACrB,MAAO81B,GAAetuB,EAAG6uB,KAAax5B,KAAK,WAAc,MAAOmD,MAC9Dq2B,EACJ72B,EAAa,SAAUb,GACrB,MAAOm3B,GAAetuB,EAAG6uB,KAAax5B,KAAK,WAAc,KAAM8B,MAC7D03B,OAMLzrB,GAAW/X,EAAW8iB,GAA2B,CACpD,GAAIrc,GAASuN,EAAW,WAAWvU,UAAmB,OAClDwjB,GAAgC,UAAMxc,GACxCknB,EAAc1K,EAAwB,UAAWxc,GAAU66B,QAAQ,M7R6/RjE,SAAUxjC,EAAQD,EAASM,G8RriSjC,GAAI4B,GAAc,EAAQ,GACtB0qB,EAAsB,EAAQ,KAC9BtmB,EAAW,EAAQ,IACnBqL,EAAyB,EAAQ,IAEjC3E,EAAS9K,EAAY,GAAG8K,QACxBqsB,EAAan3B,EAAY,GAAGm3B,YAC5BhiB,EAAcnV,EAAY,GAAGmE,OAE7BwjB,EAAe,SAAU+b,GAC3B,MAAO,UAAUvb,EAAOwb,GACtB,GAGIC,GAAOC,EAHPrU,EAAIprB,EAASqL,EAAuB0Y,IACpClB,EAAWyD,EAAoBiZ,GAC/BG,EAAOtU,EAAEzuB,MAEb,OAAIkmB,GAAW,GAAKA,GAAY6c,EAAaJ,EAAoB,OAAKl9B,IACtEo9B,EAAQzM,EAAW3H,EAAGvI,GACf2c,EAAQ,OAAUA,EAAQ,OAAU3c,EAAW,IAAM6c,IACtDD,EAAS1M,EAAW3H,EAAGvI,EAAW,IAAM,OAAU4c,EAAS,MAC3DH,EACE54B,EAAO0kB,EAAGvI,GACV2c,EACFF,EACEvuB,EAAYqa,EAAGvI,EAAUA,EAAW,GACV4c,EAAS,OAAlCD,EAAQ,OAAU,IAA0B,QAIzD7lC,GAAOD,SAGLimC,OAAQpc,GAAa,GAGrB7c,OAAQ6c,GAAa,K9R6iSjB,SAAU5pB,EAAQD,G+R7kSxBC,EAAOD,SACLkmC,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,I/RulSP,SAAU/nC,EAAQ6E,EAAqBxE,GAE7C,YgS1nSA,cAsBIwJ,EAAI,gBAAM,EAEdA,GAAEA,EAAIA,EAES,OhSioST,SAAU7J,EAAQ6E,EAAqBxE,GAE7C,YiS5pSe,SAASiP,GAAO1K,GAC7B,MAAe,QAARA,EAFT,OjSuqSM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YkSxqSe,SAAS2nC,GAAUpjC,GAChC,SAAUA,GAAwB,IAAjBA,EAAIqjC,UAFvB,OlSmrSM,SAAUjoC,EAAQ6E,EAAqBxE,GAE7C,YmSrrSA,YAEe,iBAAU,SnS4rSnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YoShsSA,YAEe,iBAAU,WpSusSnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YqS3sSA,YAEe,iBAAU,UrSktSnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YsSttSA,YAEe,iBAAU,WtS6tSnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YuS7tSe,SAASgH,GAASzC,GAC/B,OAAQ,YAASA,IAAQ,YAAUA,KAASuC,MAAM+gC,WAAWtjC,IAL/D,2BvSgvSM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YwSlvSA,sBAKe,iBAAwB,MxS0vSjC,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YySzvSe,SAAS8nC,GAAQvjC,GAC9B,GAAW,MAAPA,EAAa,OAAO,CAGxB,IAAI5B,GAAS,YAAU4B,EACvB,OAAqB,gBAAV5B,KACT,YAAQ4B,IAAQ,YAASA,IAAQ,YAAYA,IAC1B,IAAX5B,EACsB,IAAzB,YAAU,YAAK4B,IAhBxB,qDzS8xSM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y0SjxSA,SAAS+nC,GAAGvlC,EAAGC,EAAGulC,EAAQC,GAGxB,GAAIzlC,IAAMC,EAAG,MAAa,KAAND,GAAW,EAAIA,GAAM,EAAIC,CAE7C,IAAS,MAALD,GAAkB,MAALC,EAAW,OAAO,CAEnC,IAAID,IAAMA,EAAG,MAAOC,KAAMA,CAE1B,IAAIoU,SAAcrU,EAClB,QAAa,aAATqU,GAAgC,WAATA,GAAiC,gBAALpU,KAChDylC,EAAO1lC,EAAGC,EAAGulC,EAAQC,GAI9B,QAASC,GAAO1lC,EAAGC,EAAGulC,EAAQC,GAExBzlC,YAAa,OAAGA,EAAIA,EAAEiH,UACtBhH,YAAa,OAAGA,EAAIA,EAAEgH,SAE1B,IAAIyE,GAAY,IAAS5N,KAAKkC,EAC9B,IAAI0L,IAAc,IAAS5N,KAAKmC,GAAI,OAAO,CAE3C,IAAI,KAAgC,mBAAbyL,GAAkC,YAAW1L,GAAI,CACtE,IAAK,YAAWC,GAAI,OAAO,CAC3ByL,GAAYi6B,EAEd,OAAQj6B,GAEN,IAAK,kBAEL,IAAK,kBAGH,MAAO,GAAK1L,GAAM,GAAKC,CACzB,KAAK,kBAGH,OAAKD,IAAOA,GAAWC,IAAOA,EAEhB,IAAND,EAAU,GAAKA,GAAM,EAAIC,GAAKD,IAAOC,CAC/C,KAAK,gBACL,IAAK,mBAIH,OAAQD,IAAOC,CACjB,KAAK,kBACH,MAAO,KAAYiH,QAAQpJ,KAAKkC,KAAO,IAAYkH,QAAQpJ,KAAKmC,EAClE,KAAK,uBACL,IAAK0lC,GAEH,MAAOD,GAAO,YAAa1lC,GAAI,YAAaC,GAAIulC,EAAQC,GAG5D,GAAIG,GAA0B,mBAAdl6B,CAChB,KAAKk6B,GAAa,YAAa5lC,GAAI,CAE/B,GADiB,YAAcA,KACZ,YAAcC,GAAI,OAAO,CAC5C,IAAID,EAAEsqB,SAAWrqB,EAAEqqB,QAAUtqB,EAAE6lC,aAAe5lC,EAAE4lC,WAAY,OAAO,CACnED,IAAY,EAEhB,IAAKA,EAAW,CACd,GAAgB,gBAAL5lC,IAA6B,gBAALC,GAAe,OAAO,CAIzD,IAAI6lC,GAAQ9lC,EAAE2N,YAAao4B,EAAQ9lC,EAAE0N,WACrC,IAAIm4B,IAAUC,KAAW,YAAWD,IAAUA,YAAiBA,IACtC,YAAWC,IAAUA,YAAiBA,KACvC,eAAiB/lC,IAAK,eAAiBC,GAC7D,OAAO,EAQXulC,EAASA,MACTC,EAASA,KAET,KADA,GAAItlC,GAASqlC,EAAOrlC,OACbA,KAGL,GAAIqlC,EAAOrlC,KAAYH,EAAG,MAAOylC,GAAOtlC,KAAYF,CAQtD,IAJAulC,EAAOliC,KAAKtD,GACZylC,EAAOniC,KAAKrD,GAGR2lC,EAAW,CAGb,IADAzlC,EAASH,EAAEG,UACIF,EAAEE,OAAQ,OAAO,CAEhC,MAAOA,KACL,IAAKolC,EAAGvlC,EAAEG,GAASF,EAAEE,GAASqlC,EAAQC,GAAS,OAAO,MAEnD,CAEL,GAAqBhlC,GAAjB4L,EAAQ,YAAKrM,EAGjB,IAFAG,EAASkM,EAAMlM,OAEX,YAAKF,GAAGE,SAAWA,EAAQ,OAAO,CACtC,MAAOA,KAGL,GADAM,EAAM4L,EAAMlM,IACN,YAAIF,EAAGQ,KAAQ8kC,EAAGvlC,EAAES,GAAMR,EAAEQ,GAAM+kC,EAAQC,GAAU,OAAO,EAMrE,MAFAD,GAAOr3B,MACPs3B,EAAOt3B,OACA,EAIM,QAAS63B,GAAQhmC,EAAGC,GACjC,MAAOslC,GAAGvlC,EAAGC,GAxIf,6FAYI0lC,EAAc,qB1S86SZ,SAAUxoC,EAAQ6E,EAAqBxE,GAE7C,Y2Sx7Se,SAASyoC,GAAaC,GACnC,MAAO,IAAIC,YACTD,EAAa5b,QAAU4b,EACvBA,EAAaL,YAAc,EAC3B,YAAcK,IARlB,oB3S88SM,SAAU/oC,EAAQ6E,EAAqBxE,GAE7C,Y4Sh9SA,6BAIe,SAAS,YAAgB,KAAc,YAAU,Q5Sy9S1D,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y6S/9SA,6BAIe,SAAS,YAAgB,KAAkB,YAAU,Y7Sw+S9D,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y8S9+SA,6BAIe,SAAS,YAAgB,KAAc,YAAU,Q9Su/S1D,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y+S7/SA,YAEe,iBAAU,Y/SogTnB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YgTpgTe,SAAS4oC,GAAMrkC,GAI5B,IAAK,GAHDsK,GAAQ,YAAKtK,GACb5B,EAASkM,EAAMlM,OACfimC,EAAQjjC,MAAMhD,GACTxC,EAAI,EAAGA,EAAIwC,EAAQxC,IAC1ByoC,EAAMzoC,IAAM0O,EAAM1O,GAAIoE,EAAIsK,EAAM1O,IAElC,OAAOyoC,GAXT,mBhT4hTM,SAAUjpC,EAAQ6E,EAAqBxE,GAE7C,YiTxhTe,SAAS0G,GAAOpF,EAAWwtB,GACxC,GAAI1Y,GAAS,YAAW9U,EAExB,OADIwtB,IAAO,YAAU1Y,EAAQ0Y,GACtB1Y,EATT,6BjTijTM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YkThjTe,SAAS2P,GAAIpL,EAAKqL,GAE/B,MADAA,GAAYrL,GACLA,EALT,OlTgkTM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,YmT5jTe,SAASwS,GAAIjO,EAAKtC,GAC/BA,EAAO,YAAOA,EAEd,KAAK,GADDU,GAASV,EAAKU,OACTxC,EAAI,EAAGA,EAAIwC,EAAQxC,IAAK,CAC/B,GAAI8C,GAAMhB,EAAK9B,EACf,KAAK,YAAKoE,EAAKtB,GAAM,OAAO,CAC5BsB,GAAMA,EAAItB,GAEZ,QAASN,EAdX,2BnT0lTM,SAAUhD,EAAQ6E,EAAqBxE,GAE7C,YoTvlTe,SAAS2e,GAAUpa,EAAKmE,EAAUF,GAC/CE,EAAW,YAAGA,EAAUF,EAIxB,KAAK,GAHDqG,GAAQ,YAAKtK,GACb5B,EAASkM,EAAMlM,OACf8Y,KACKnS,EAAQ,EAAGA,EAAQ3G,EAAQ2G,IAAS,CAC3C,GAAIoS,GAAa7M,EAAMvF,EACvBmS,GAAQC,GAAchT,EAASnE,EAAImX,GAAaA,EAAYnX,GAE9D,MAAOkX,GAdT,2BpTonTM,SAAU9b,EAAQ6E,EAAqBxE,GAE7C,YqTlnTe,SAAS6oC,GAAWtkC,GACjC,MAAW,OAAPA,EAAoB,IACjB,SAAStC,GACd,MAAO,aAAIsC,EAAKtC,IAPpB,6BrTwoTM,SAAUtC,EAAQ6E,EAAqBxE,GAE7C,YsTvoTe,SAASq2B,GAAMn1B,EAAGwH,EAAUF,GACzC,GAAIsgC,GAAQnjC,MAAM0B,KAAK+B,IAAI,EAAGlI,GAC9BwH,GAAW,YAAWA,EAAUF,EAAS,EACzC,KAAK,GAAIrI,GAAI,EAAGA,EAAIe,EAAGf,IAAK2oC,EAAM3oC,GAAKuI,EAASvI,EAChD,OAAO2oC,GAPT,mBtT0pTM,SAAUnpC,EAAQ6E,EAAqBxE,GAE7C,YuT5pTA,sBAIe,iBAAc,MvToqTvB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YwT1qTA,sBAIe,iBAAc,MxTkrTvB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YyTxrTA,sBAIe,iBAAO,MzTgsThB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y0ThrTA,SAAS+oC,GAAW5xB,GAClB,MAAO,KAAO6xB,EAAQ7xB,GAST,QAAS8xB,GAASvpB,EAAMwpB,EAAUC,IAC1CD,GAAYC,IAAaD,EAAWC,GACzCD,EAAW,eAAaA,EAAU,IAAExT,iBAGpC,IAAInN,GAAUnH,SACX8nB,EAASrT,QAAUuT,GAASvmC,QAC5BqmC,EAAStT,aAAewT,GAASvmC,QACjCqmC,EAASvT,UAAYyT,GAASvmC,QAC/B2M,KAAK,KAAO,KAAM,KAGhBlG,EAAQ,EACRzG,EAAS,QACb6c,GAAKkC,QAAQ2G,EAAS,SAASpR,EAAO0e,EAAQD,EAAaD,EAAU8D,GAanE,MAZA52B,IAAU6c,EAAK3Z,MAAMuD,EAAOmwB,GAAQ7X,QAAQynB,EAAcN,GAC1Dz/B,EAAQmwB,EAAStiB,EAAMxU,OAEnBkzB,EACFhzB,GAAU,cAAgBgzB,EAAS,iCAC1BD,EACT/yB,GAAU,cAAgB+yB,EAAc,uBAC/BD,IACT9yB,GAAU,OAAS8yB,EAAW,YAIzBxe,IAETtU,GAAU,MAEV,IAAI4E,GAAWyhC,EAAS/gC,QACxB,IAAIV,GACF,IAAK6hC,EAAepmB,KAAKzb,GAAW,KAAM,IAAIgF,OAAMhF,OAGpD5E,GAAS,mBAAqBA,EAAS,MACvC4E,EAAW,KAGb5E,GAAS,4FAEPA,EAAS,eAEX,IAAI0mC,EACJ,KACEA,EAAS,GAAI1kC,UAAS4C,EAAU,IAAK5E,GACrC,MAAO8K,GAEP,KADAA,GAAE9K,OAASA,EACL8K,EAGR,GAAIs7B,GAAW,SAASp8B,GACtB,MAAO08B,GAAOjpC,KAAKP,KAAM8M,EAAM,KAMjC,OAFAo8B,GAASpmC,OAAS,YAAc4E,EAAW,OAAS5E,EAAS,IAEtDomC,EA3FT,2BAOIG,GAPJ,OAOc,QAIVJ,GACF,IAAK,IACL,KAAM,KACN,KAAM,IACN,KAAM,IACN,SAAU,QACV,SAAU,SAGRK,EAAe,4BAMfC,EAAiB,oB1TkxTf,SAAU3pC,EAAQ6E,EAAqBxE,GAE7C,Y2TxyTe,SAASoW,GAAO7R,EAAKtC,EAAMunC,GACxCvnC,EAAO,YAAOA,EACd,IAAIU,GAASV,EAAKU,MAClB,KAAKA,EACH,MAAO,aAAW6mC,GAAYA,EAASlpC,KAAKiE,GAAOilC,CAErD,KAAK,GAAIrpC,GAAI,EAAGA,EAAIwC,EAAQxC,IAAK,CAC/B,GAAIw0B,GAAc,MAAPpwB,MAAc,GAASA,EAAItC,EAAK9B,QAC9B,KAATw0B,IACFA,EAAO6U,EACPrpC,EAAIwC,GAEN4B,EAAM,YAAWowB,GAAQA,EAAKr0B,KAAKiE,GAAOowB,EAE5C,MAAOpwB,GApBT,2B3T40TM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y4T30Te,SAASypC,GAASlP,GAC/B,GAAI7b,KAAOgrB,EAAY,EACvB,OAAOnP,GAASA,EAAS7b,EAAKA,EALhC,KAEA,IAAIgrB,GAAY,G5Ty1TV,SAAU/pC,EAAQ6E,EAAqBxE,GAE7C,Y6T11Te,SAAS+3B,GAAMxzB,GAC5B,GAAIszB,GAAW,YAAEtzB,EAEjB,OADAszB,GAASC,QAAS,EACXD,EANT,mB7T42TM,SAAUl4B,EAAQ6E,EAAqBxE,GAE7C,Y8T92TA,6BAOe,iBAAc,SAASuE,EAAKiC,GACzCA,EAAO,YAAQA,GAAM,GAAO,EAC5B,IAAI8C,GAAQ9C,EAAK7D,MACjB,IAAI2G,EAAQ,EAAG,KAAM,IAAImD,OAAM,wCAC/B,MAAOnD,KAAS,CACd,GAAIrG,GAAMuD,EAAK8C,EACf/E,GAAItB,GAAO,YAAKsB,EAAItB,GAAMsB,GAE5B,MAAOA,M9Tw3TH,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y+Tt4Te,SAAS2pC,GAAQzgC,EAAM0gC,GACpC,GAAID,GAAU,SAAS1mC,GACrB,GAAIk5B,GAAQwN,EAAQxN,MAChB0N,EAAU,IAAMD,EAASA,EAAOjoC,MAAM5B,KAAM2C,WAAaO,EAE7D,OADK,aAAIk5B,EAAO0N,KAAU1N,EAAM0N,GAAW3gC,EAAKvH,MAAM5B,KAAM2C,YACrDy5B,EAAM0N,GAGf,OADAF,GAAQxN,SACDwN,EAXT,mB/T65TM,SAAUhqC,EAAQ6E,EAAqBxE,GAE7C,YgU/5TA,8BAMe,iBAAQ,IAAO,IAAG,IhUw6T3B,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YiUz6Te,SAAS8pC,GAAS5gC,EAAMitB,EAAMvzB,GAC3C,GAAIoK,GAASxE,EAASe,EAAM6M,EACxB2zB,EAAW,CACVnnC,KAASA,KAEd,IAAIonC,GAAQ,WACVD,GAA+B,IAApBnnC,EAAQqnC,QAAoB,EAAI,cAC3Cj9B,EAAU,KACVoJ,EAASlN,EAAKvH,MAAM6G,EAASe,GACxByD,IAASxE,EAAUe,EAAO,OAG7B2gC,EAAY,WACd,GAAIC,GAAO,aACNJ,KAAgC,IAApBnnC,EAAQqnC,UAAmBF,EAAWI,EACvD,IAAIxF,GAAYxO,GAAQgU,EAAOJ,EAc/B,OAbAvhC,GAAUzI,KACVwJ,EAAO7G,UACHiiC,GAAa,GAAKA,EAAYxO,GAC5BnpB,IACFo9B,aAAap9B,GACbA,EAAU,MAEZ+8B,EAAWI,EACX/zB,EAASlN,EAAKvH,MAAM6G,EAASe,GACxByD,IAASxE,EAAUe,EAAO,OACrByD,IAAgC,IAArBpK,EAAQynC,WAC7Br9B,EAAUqmB,WAAW2W,EAAOrF,IAEvBvuB,EAST,OANA8zB,GAAUI,OAAS,WACjBF,aAAap9B,GACb+8B,EAAW,EACX/8B,EAAUxE,EAAUe,EAAO,MAGtB2gC,EA7CT,oBjUs+TM,SAAUvqC,EAAQ6E,EAAqBxE,GAE7C,YkUj+Te,SAASuqC,GAASrhC,EAAMitB,EAAMqU,GAC3C,GAAIx9B,GAAS+8B,EAAUxgC,EAAM6M,EAAQ5N,EAEjCwhC,EAAQ,WACV,GAAI1G,GAAS,cAAQyG,CACjB5T,GAAOmN,EACTt2B,EAAUqmB,WAAW2W,EAAO7T,EAAOmN,IAEnCt2B,EAAU,KACLw9B,IAAWp0B,EAASlN,EAAKvH,MAAM6G,EAASe,IAExCyD,IAASzD,EAAOf,EAAU,QAI/BiiC,EAAY,YAAc,SAASC,GAQrC,MAPAliC,GAAUzI,KACVwJ,EAAOmhC,EACPX,EAAW,cACN/8B,IACHA,EAAUqmB,WAAW2W,EAAO7T,GACxBqU,IAAWp0B,EAASlN,EAAKvH,MAAM6G,EAASe,KAEvC6M,GAQT,OALAq0B,GAAUH,OAAS,WACjBF,aAAap9B,GACbA,EAAUzD,EAAOf,EAAU,MAGtBiiC,EAtCT,4BlUwhUM,SAAU9qC,EAAQ6E,EAAqBxE,GAE7C,YmUrhUe,SAASmE,GAAK+E,EAAM25B,GACjC,MAAO,aAAQA,EAAS35B,GAN1B,oBnUyiUM,SAAUvJ,EAAQ6E,EAAqBxE,GAE7C,YoUziUe,SAAS2qC,KACtB,GAAIphC,GAAO7G,UACP65B,EAAQhzB,EAAK5G,OAAS,CAC1B,OAAO,YAGL,IAFA,GAAIxC,GAAIo8B,EACJnmB,EAAS7M,EAAKgzB,GAAO56B,MAAM5B,KAAM2C,WAC9BvC,KAAKiW,EAAS7M,EAAKpJ,GAAGG,KAAKP,KAAMqW,EACxC,OAAOA,IATX,OpU6jUM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YqU9jUe,SAAS4qC,GAAMvU,EAAOntB,GACnC,MAAO,YACL,KAAMmtB,EAAQ,EACZ,MAAOntB,GAAKvH,MAAM5B,KAAM2C,YAJ9B,OrU6kUM,SAAU/C,EAAQ6E,EAAqBxE,GAE7C,YsU/kUA,sBAKe,iBAAQ,IAAQ,ItUulUzB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YuU9lUA,sBAKe,kBAAmB,EAAG,MvUsmU/B,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YwUxmUe,SAAS6qC,GAAUtmC,EAAKikB,GACrC,MAAO,aAAKjkB,EAAK,YAAQikB,IAN3B,6BxU6nUM,SAAU7oB,EAAQ6E,EAAqBxE,GAE7C,YyU/nUA,aAIe,iBAAa,IzUsoUtB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y0U5oUA,aAGe,kBAAc,I1UmpUvB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,Y2UnpUe,SAASyW,GAAOlS,EAAK4M,EAAW3I,GAC7C,MAAO,aAAOjE,EAAK,YAAO,YAAG4M,IAAa3I,GAN5C,oC3UyqUM,SAAU7I,EAAQ6E,EAAqBxE,GAE7C,Y4UtqUe,SAASoqB,GAAM7lB,EAAK4M,EAAW3I,GAC5C2I,EAAY,YAAGA,EAAW3I,EAG1B,KAAK,GAFDqG,IAAS,YAAYtK,IAAQ,YAAKA,GAClC5B,GAAUkM,GAAStK,GAAK5B,OACnB2G,EAAQ,EAAGA,EAAQ3G,EAAQ2G,IAAS,CAC3C,GAAIoS,GAAa7M,EAAQA,EAAMvF,GAASA,CACxC,KAAK6H,EAAU5M,EAAImX,GAAaA,EAAYnX,GAAM,OAAO,EAE3D,OAAO,EAbT,mC5UmsUM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y6UhsUe,SAASmqB,GAAK5lB,EAAK4M,EAAW3I,GAC3C2I,EAAY,YAAGA,EAAW3I,EAG1B,KAAK,GAFDqG,IAAS,YAAYtK,IAAQ,YAAKA,GAClC5B,GAAUkM,GAAStK,GAAK5B,OACnB2G,EAAQ,EAAGA,EAAQ3G,EAAQ2G,IAAS,CAC3C,GAAIoS,GAAa7M,EAAQA,EAAMvF,GAASA,CACxC,IAAI6H,EAAU5M,EAAImX,GAAaA,EAAYnX,GAAM,OAAO,EAE1D,OAAO,EAbT,mC7U6tUM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y8U/tUA,6CAOe,iBAAc,SAASuE,EAAKtC,EAAMsH,GAC/C,GAAIuhC,GAAa5hC,CAQjB,OAPI,aAAWjH,GACbiH,EAAOjH,GAEPA,EAAO,YAAOA,GACd6oC,EAAc7oC,EAAK8D,MAAM,GAAI,GAC7B9D,EAAOA,EAAKA,EAAKU,OAAS,IAErB,YAAI4B,EAAK,SAASiE,GACvB,GAAIF,GAASY,CACb,KAAKZ,EAAQ,CAIX,GAHIwiC,GAAeA,EAAYnoC,SAC7B6F,EAAU,YAAQA,EAASsiC,IAEd,MAAXtiC,EAAiB,MACrBF,GAASE,EAAQvG,GAEnB,MAAiB,OAAVqG,EAAiBA,EAASA,EAAO3G,MAAM6G,EAASe,Q9U4uUrD,SAAU5J,EAAQ6E,EAAqBxE,GAE7C,Y+UlwUe,SAAS+qC,GAAMxmC,EAAKikB,GACjC,MAAO,aAAOjkB,EAAK,YAAQikB,IAN7B,4B/UuxUM,SAAU7oB,EAAQ6E,EAAqBxE,GAE7C,YgVnxUe,SAASusB,GAAIhoB,EAAKmE,EAAUF,GACzC,GACItE,GAAOkzB,EADPhhB,EAASgF,IAAUic,EAAejc,GAEtC,IAAgB,MAAZ1S,GAAuC,gBAAZA,IAAyC,gBAAVnE,GAAI,IAAyB,MAAPA,EAAa,CAC/FA,EAAM,YAAYA,GAAOA,EAAM,YAAOA,EACtC,KAAK,GAAIpE,GAAI,EAAGwC,EAAS4B,EAAI5B,OAAQxC,EAAIwC,EAAQxC,IAElC,OADb+D,EAAQK,EAAIpE,KACS+D,EAAQkS,IAC3BA,EAASlS,OAIbwE,GAAW,YAAGA,EAAUF,GACxB,YAAKjE,EAAK,SAASqa,EAAGtV,EAAO6c,KAC3BiR,EAAW1uB,EAASkW,EAAGtV,EAAO6c,IACfkR,GAAgBD,IAAahc,KAAYhF,IAAWgF,OACjEhF,EAASwI,EACTyY,EAAeD,IAIrB,OAAOhhB,GA3BT,2ChVg0UM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YiV/zUe,SAASgrC,GAAQzmC,GAC9B,MAAO,aAAOA,EAAK6W,KAJrB,oBjV+0UM,SAAUzb,EAAQ6E,EAAqBxE,GAE7C,YkV50Ue,SAASirC,GAAO1mC,EAAKmE,EAAUF,GAC5C,GAAIc,GAAQ,CAEZ,OADAZ,GAAW,YAAGA,EAAUF,GACjB,YAAM,YAAIjE,EAAK,SAASL,EAAOjB,EAAKkjB,GACzC,OACEjiB,MAAOA,EACPoF,MAAOA,IACP4hC,SAAUxiC,EAASxE,EAAOjB,EAAKkjB,MAEhC4O,KAAK,SAASoW,EAAMC,GACrB,GAAI5oC,GAAI2oC,EAAKD,SACTzoC,EAAI2oC,EAAMF,QACd,IAAI1oC,IAAMC,EAAG,CACX,GAAID,EAAIC,OAAW,KAAND,EAAc,MAAO,EAClC,IAAIA,EAAIC,OAAW,KAANA,EAAc,OAAQ,EAErC,MAAO0oC,GAAK7hC,MAAQ8hC,EAAM9hC,QACxB,SAtBN,oClVk3UM,SAAU3J,EAAQ6E,EAAqBxE,GAE7C,YmVp3UA,qBAKe,iBAAM,SAASoW,EAAQlS,EAAOjB,GACvC,YAAImT,EAAQnT,GAAMmT,EAAOnT,GAAK6C,KAAK5B,GAAakS,EAAOnT,IAAQiB,MnV63U/D,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,YoVr4UA,aAIe,iBAAM,SAASoW,EAAQlS,EAAOjB,GAC3CmT,EAAOnT,GAAOiB,KpV64UV,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,YqVp5UA,qBAMe,iBAAM,SAASoW,EAAQlS,EAAOjB,GACvC,YAAImT,EAAQnT,GAAMmT,EAAOnT,KAAamT,EAAOnT,GAAO,KrV65UpD,SAAUtD,EAAQ6E,EAAqBxE,GAE7C,YsVt6UA,aAIe,iBAAM,SAASoW,EAAQlS,EAAOmnC,GAC3Cj1B,EAAOi1B,EAAO,EAAI,GAAGvlC,KAAK5B,KACzB,ItV66UG,SAAUvE,EAAQ6E,EAAqBxE,GAE7C,YuV36Ue,SAASsrC,GAAQ/mC,GAC9B,MAAKA,GACD,YAAQA,GAAa,IAAMjE,KAAKiE,GAChC,YAASA,GAEJA,EAAI4S,MAAMo0B,GAEf,YAAYhnC,GAAa,YAAIA,EAAK,KAC/B,YAAOA,MAlBhB,mEASIgnC,EAAc,oEvV68UZ,SAAU5rC,EAAQ6E,EAAqBxE,GAE7C,YwVp9Ue,SAAS0lC,GAAKnhC,GAC3B,MAAW,OAAPA,EAAoB,EACjB,YAAYA,GAAOA,EAAI5B,OAAS,YAAK4B,GAAK5B,OANnD,2BxVw+UM,SAAUhD,EAAQ6E,EAAqBxE,GAE7C,YyVx+Ue,SAASwrC,GAAStnC,EAAOjB,EAAKsB,GAC3C,MAAOtB,KAAOsB,GAHhB,OzVq/UM,SAAU5E,EAAQ6E,EAAqBxE,GAE7C,Y0Vv/UA,8DASe,iBAAc,SAASuE,EAAKiC,GACzC,GAAwBgC,GAApBE,EAAWlC,EAAK,EAUpB,OATI,aAAWkC,IACbA,EAAW,YAAOA,GACdlC,EAAK7D,OAAS,IAAG6F,EAAUhC,EAAK,MAEpCA,EAAO,YAAI,YAAQA,GAAM,GAAO,GAAQsC,QACxCJ,EAAW,SAASxE,EAAOjB,GACzB,OAAQ,YAASuD,EAAMvD,KAGpB,YAAKsB,EAAKmE,EAAUF,M1VqgVvB,SAAU7I,EAAQ6E,EAAqBxE,GAE7C,Y2VvhVe,SAASwlC,GAAMrc,EAAOjoB,EAAGqlB,GACtC,MAAa,OAAT4C,GAAiBA,EAAMxmB,OAAS,EAAe,MAALzB,GAAaqlB,MAAQ,MAC1D,MAALrlB,GAAaqlB,EAAc4C,EAAM,GAC9B,YAAQA,EAAOA,EAAMxmB,OAASzB,GAPvC,oB3V2iVM,SAAUvB,EAAQ6E,EAAqBxE,GAE7C,Y4VziVe,SAASu3B,GAAKpO,EAAOjoB,EAAGqlB,GACrC,MAAa,OAAT4C,GAAiBA,EAAMxmB,OAAS,EAAe,MAALzB,GAAaqlB,MAAQ,MAC1D,MAALrlB,GAAaqlB,EAAc4C,EAAMA,EAAMxmB,OAAS,GAC7C,YAAKwmB,EAAO9hB,KAAK+B,IAAI,EAAG+f,EAAMxmB,OAASzB,IAPhD,oB5V6jVM,SAAUvB,EAAQ6E,EAAqBxE,GAE7C,Y6V5jVe,SAASyrC,GAAQtiB,GAC9B,MAAO,aAAOA,EAAOE,SAJvB,mB7V4kVM,SAAU1pB,EAAQ6E,EAAqBxE,GAE7C,Y8V1kVe,SAAS8a,GAAQqO,EAAOnO,GACrC,MAAO,aAASmO,EAAOnO,GAAO,GALhC,mB9V4lVM,SAAUrb,EAAQ6E,EAAqBxE,GAE7C,Y+V9lVA,qBAIe,iBAAc,SAASmpB,EAAOuiB,GAC3C,MAAO,aAAWviB,EAAOuiB,M/VumVrB,SAAU/rC,EAAQ6E,EAAqBxE,GAE7C,YgW9mVA,6BAMe,iBAAc,SAAS2rC,GACpC,MAAO,aAAK,YAAQA,GAAQ,GAAM,OhWwnV9B,SAAUhsC,EAAQ6E,EAAqBxE,GAE7C,YiW5nVe,SAAS4rC,GAAaziB,GAGnC,IAAK,GAFD/S,MACA4mB,EAAat6B,UAAUC,OAClBxC,EAAI,EAAGwC,EAAS,YAAUwmB,GAAQhpB,EAAIwC,EAAQxC,IAAK,CAC1D,GAAIkmB,GAAO8C,EAAMhpB,EACjB,KAAI,YAASiW,EAAQiQ,GAArB,CACA,GAAI/K,EACJ,KAAKA,EAAI,EAAGA,EAAI0hB,GACT,YAASt6B,UAAU4Y,GAAI+K,GADF/K,KAGxBA,IAAM0hB,GAAY5mB,EAAOtQ,KAAKugB,IAEpC,MAAOjQ,GAjBT,2BjW4pVM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YkW9pVA,qBAKe,iBAAc,MlWsqVvB,SAAUL,EAAQ6E,EAAqBxE,GAE7C,YmWxqVe,SAASoB,GAAO+kB,EAAM9L,GAEnC,IAAK,GADDjE,MACKjW,EAAI,EAAGwC,EAAS,YAAUwjB,GAAOhmB,EAAIwC,EAAQxC,IAChDka,EACFjE,EAAO+P,EAAKhmB,IAAMka,EAAOla,GAEzBiW,EAAO+P,EAAKhmB,GAAG,IAAMgmB,EAAKhmB,GAAG,EAGjC,OAAOiW,GAdT,mBnWosVM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YoWnsVe,SAAS6rC,GAAMtP,EAAO/X,EAAMJ,GAC7B,MAARI,IACFA,EAAO+X,GAAS,EAChBA,EAAQ,GAELnY,IACHA,EAAOI,EAAO+X,GAAS,EAAI,EAM7B,KAAK,GAHD55B,GAAS0E,KAAK+B,IAAI/B,KAAKq4B,MAAMlb,EAAO+X,GAASnY,GAAO,GACpDynB,EAAQlmC,MAAMhD,GAET0Y,EAAM,EAAGA,EAAM1Y,EAAQ0Y,IAAOkhB,GAASnY,EAC9CynB,EAAMxwB,GAAOkhB,CAGf,OAAOsP,GAnBT,OpWiuVM,SAAUlsC,EAAQ6E,EAAqBxE,GAE7C,YqW/tVe,SAAS8rC,GAAM3iB,EAAO+B,GACnC,GAAa,MAATA,GAAiBA,EAAQ,EAAG,QAGhC,KAFA,GAAI9U,MACAjW,EAAI,EAAGwC,EAASwmB,EAAMxmB,OACnBxC,EAAIwC,GACTyT,EAAOtQ,KAAK,IAAMxF,KAAK6oB,EAAOhpB,EAAGA,GAAK+qB,GAExC,OAAO9U,GAXT,kBrWuvVM,SAAUzW,EAAQ6E,EAAqBxE,GAE7C,YsWlvVe,SAAS+rC,GAAMxnC,GAS5B,MARA,aAAK,YAAUA,GAAM,SAAS7D,GAC5B,GAAIwI,GAAO,IAAExI,GAAQ6D,EAAI7D,EACzB,KAAEY,UAAUZ,GAAQ,WAClB,GAAI6I,IAAQxJ,KAAK0J,SAEjB,OADA,KAAK9H,MAAM4H,EAAM7G,WACV,YAAY3C,KAAMmJ,EAAKvH,MAAM,IAAG4H,OAGpC,IAhBT,oDtWsxVM,SAAU5J,EAAQ6E,EAAqBxE,GAE7C,YuWxxVA,oCAMA,cAAM,MAAO,OAAQ,UAAW,QAAS,OAAQ,SAAU,WAAY,SAASU,GAC9E,GAAI4H,GAAS,IAAW5H,EACxB,KAAEY,UAAUZ,GAAQ,WAClB,GAAI6D,GAAMxE,KAAK0J,QAOf,OANW,OAAPlF,IACF+D,EAAO3G,MAAM4C,EAAK7B,WACJ,UAAThC,GAA6B,WAATA,GAAqC,IAAf6D,EAAI5B,cAC1C4B,GAAI,IAGR,YAAYxE,KAAMwE,MAK7B,aAAM,SAAU,OAAQ,SAAU,SAAS7D,GACzC,GAAI4H,GAAS,IAAW5H,EACxB,KAAEY,UAAUZ,GAAQ,WAClB,GAAI6D,GAAMxE,KAAK0J,QAEf,OADW,OAAPlF,IAAaA,EAAM+D,EAAO3G,MAAM4C,EAAK7B,YAClC,YAAY3C,KAAMwE,MAId,MAAC,GvWkyVV,SAAU5E,EAAQD,EAASM,GwWh0VjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GxWu0VX,SAAUpQ,EAAQD,EAASM,GyWz0VjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAGyT,MACb,OAAOzT,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAe5T,OAAU7S,EAAS0jC,IzWi1V5G,SAAUrsC,EAAQD,EAASM,G0Wx1VjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAAS9wB,Q1W+1VjC,SAAUxb,EAAQD,G2Wl2VxB,GAAIqJ,GAAaC,SAGjBrJ,GAAOD,QAAU,SAAUgI,GACzB,GAAIA,EAHiB,iBAGM,KAAMqB,GAAW,iCAC5C,OAAOrB,K3W02VH,SAAU/H,EAAQD,EAASM,G4W/2VjC,GAAIsG,GAAU,EAAQ,IAClB+qB,EAAgB,EAAQ,IACxBzoB,EAAW,EAAQ,IACnBoN,EAAkB,EAAQ,GAE1B+O,EAAU/O,EAAgB,WAC1BsmB,EAAS32B,KAIbhG,GAAOD,QAAU,SAAUm5B,GACzB,GAAIriB,EASF,OARElQ,GAAQuyB,KACVriB,EAAIqiB,EAAc1oB,YAEdkhB,EAAc7a,KAAOA,IAAM8lB,GAAUh2B,EAAQkQ,EAAElV,YAAakV,MAAIpO,GAC3DQ,EAAS4N,IAEN,QADVA,EAAIA,EAAEuO,MACUvO,MAAIpO,SAETA,KAANoO,EAAkB8lB,EAAS9lB,I5Wu3VhC,SAAU7W,EAAQD,EAASM,G6W34VjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G7Wk5VX,SAAUpQ,EAAQD,EAASM,G8Wp5VjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAG8T,GACb,OAAO9T,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAevT,IAAOlT,EAAS0jC,I9W45VzG,SAAUrsC,EAAQD,EAASM,G+Wn6VjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAASzwB,K/W06VjC,SAAU7b,EAAQD,EAASM,GAEjC,YgX96VA,IAAIovB,GAAI,EAAQ,GACZ8c,EAAO,EAAQ,KAAgC1wB,GAQnD4T,IAAI5rB,OAAQ,QAASK,OAAO,EAAMG,QAPC,EAAQ,KAEY,SAMrDwX,IAAK,SAAawO,GAChB,MAAOkiB,GAAKnsC,KAAMiqB,EAAYtnB,UAAUC,OAAS,EAAID,UAAU,OAAK0F,QhXu7VlE,SAAUzI,EAAQD,EAASM,GiXn8VjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GjX08VX,SAAUpQ,EAAQD,EAASM,GkX58VjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAKpB,OAAO2F,MlXm9VvB,SAAU7G,EAAQD,EAASM,GmXt9VjC,GAAIovB,GAAI,EAAQ,GACZrnB,EAAW,EAAQ,IACnBxB,EAAa,EAAQ,IAOzB6oB,IAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,OANtB,EAAQ,GAEY,WAAcuC,EAAW,OAKvDC,KAAM,SAAckB,GAClB,MAAOnB,GAAWwB,EAASL,QnX+9VzB,SAAU/H,EAAQD,EAASM,GoX1+VjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GpXi/VX,SAAUpQ,EAAQD,EAASM,GqXn/VjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,IACfN,EAAQ,EAAQ,GAGfM,GAAKwL,OAAMxL,EAAKwL,MAASkS,UAAWlS,KAAKkS,YAG9ChgB,EAAOD,QAAU,SAAmBgI,EAAI4xB,EAAUK,GAChD,MAAOh4B,GAAMM,EAAKwL,KAAKkS,UAAW,KAAMjd,arX2/VpC,SAAU/C,EAAQD,EAASM,GsXpgWjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GtX2gWX,SAAUpQ,EAAQD,EAASM,GuX7gWjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAG2kB,OACb,OAAO3kB,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAe1C,QAAW/jB,EAAS0jC,IvXqhW7G,SAAUrsC,EAAQD,EAASM,GwX5hWjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAAS5f,SxXmiWjC,SAAU1sB,EAAQD,EAASM,GAEjC,YyXtiWA,IAAIovB,GAAI,EAAQ,GACZxtB,EAAc,EAAQ,GACtBuqC,EAAW,EAAQ,KAA+B9f,QAClD+f,EAAsB,EAAQ,KAE9BC,EAAazqC,KAAeyqB,SAE5BigB,IAAkBD,GAAc,EAAIA,GAAY,GAAI,GAAI,GAAK,EAC7DE,EAAgBH,EAAoB,UAIxChd,IAAI5rB,OAAQ,QAASK,OAAO,EAAMG,OAAQsoC,IAAkBC,IAC1DlgB,QAAS,SAAiBmgB,GACxB,GAAIlmB,GAAY5jB,UAAUC,OAAS,EAAID,UAAU,OAAK0F,EACtD,OAAOkkC,GAEHD,EAAWtsC,KAAMysC,EAAelmB,IAAc,EAC9C6lB,EAASpsC,KAAMysC,EAAelmB,OzXgjWhC,SAAU3mB,EAAQD,EAASM,G0XpkWjC,EAAQ,GACR,IAAIuS,GAAU,EAAQ,IAClBnQ,EAAS,EAAQ,IACjB0F,EAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,UAEvBoZ,GACFwrB,cAAc,EACdU,UAAU,EAGZjnC,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAGlB,IACb,OAAOkB,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAevoB,MACxFpE,EAAOsY,EAAcnI,EAAQ7K,IAAOY,EAAS0jC,I1X4kW9C,SAAUrsC,EAAQD,EAASM,G2X5lWjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G3XmmWX,SAAUpQ,EAAQD,EAASM,G4XrmWjC,EAAQ,IACR,EAAQ,GACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAASzlC,M5X4mWjC,SAAU7G,EAAQD,G6XzmWxB,GAAI+sC,GAAqC,mBAAZ,SAA2BC,OAAOD,iBAAmBC,OAAOD,gBAAgBvqC,KAAKwqC,SACnE,mBAAd,WAAuE,kBAAnC7kC,QAAO8kC,SAASF,iBAAiCE,SAASF,gBAAgBvqC,KAAKyqC,SAEhJ,IAAIF,EAAiB,CAEnB,GAAIG,GAAQ,GAAIjE,YAAW,GAE3BhpC,GAAOD,QAAU,WAEf,MADA+sC,GAAgBG,GACTA,OAEJ,CAKL,GAAI9S,GAAO,GAAIn0B,OAAM,GAErBhG,GAAOD,QAAU,WACf,IAAK,GAAW0iB,GAAPjiB,EAAI,EAAMA,EAAI,GAAIA,IACN,IAAV,EAAJA,KAAiBiiB,EAAoB,WAAhB/a,KAAKukB,UAC/BkO,EAAK35B,GAAKiiB,MAAY,EAAJjiB,IAAa,GAAK,GAGtC,OAAO25B,M7XynWL,SAAUn6B,EAAQD,G8X/oWxB,QAASu6B,GAAYJ,EAAKJ,GACxB,GAAIt5B,GAAIs5B,GAAU,EACdoT,EAAMC,CAEV,QAASD,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,MACjC0sC,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,MAAO,IAC9B0sC,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,MAAO,IAC9B0sC,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,MAAO,IAC9B0sC,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,MAAO,IAC9B0sC,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,MACvB0sC,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,MACvB0sC,EAAIhT,EAAI15B,MAAO0sC,EAAIhT,EAAI15B,OAAQqP,KAAK,IAfrC,IAAK,GADDs9B,MACK3sC,EAAI,EAAGA,EAAI,MAAOA,EACzB2sC,EAAU3sC,IAAMA,EAAI,KAAO6F,SAAS,IAAI+mC,OAAO,EAiBjDptC,GAAOD,QAAUu6B,G9X+pWX,SAAUt6B,EAAQD,EAASM,GAEjC,Y+XlrWA,SAASgtC,GAAM1qB,GAoCb,QAAS2qB,GAAY5kC,GAGnB,IAAK,GAFDmsB,GAAO,EAEFr0B,EAAI,EAAGA,EAAIkI,EAAU1F,OAAQxC,IACpCq0B,GAAQA,GAAQ,GAAKA,EAAOnsB,EAAU0wB,WAAW54B,GACjDq0B,GAAQ,CAGV,OAAO0Y,GAAY1qB,OAAOnb,KAAK8lC,IAAI3Y,GAAQ0Y,EAAY1qB,OAAO7f,QAYhE,QAASuqC,GAAY7kC,GAGnB,QAAS2T,KAEP,GAAKA,EAAMsP,QAAX,CAIA,IAAK,GAAI8hB,GAAO1qC,UAAUC,OAAQ4G,EAAO,GAAI5D,OAAMynC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E9jC,EAAK8jC,GAAQ3qC,UAAU2qC,EAGzB,IAAIvtC,GAAOkc,EAEPsxB,EAAOC,OAAO,GAAI9iC,OAClB+iC,EAAKF,GAAQG,GAAYH,EAC7BxtC,GAAK0hB,KAAOgsB,EACZ1tC,EAAK45B,KAAO+T,EACZ3tC,EAAKwtC,KAAOA,EACZG,EAAWH,EACX/jC,EAAK,GAAK2jC,EAAYQ,OAAOnkC,EAAK,IAEX,gBAAZA,GAAK,IAEdA,EAAKokC,QAAQ,KAIf,IAAIrkC,GAAQ,CACZC,GAAK,GAAKA,EAAK,GAAGqY,QAAQ,gBAAiB,SAAUzK,EAAOy2B,GAE1D,GAAc,OAAVz2B,EACF,MAAOA,EAGT7N,IACA,IAAIukC,GAAYX,EAAYzqB,WAAWmrB,EAEvC,IAAyB,kBAAdC,GAA0B,CACnC,GAAIzO,GAAM71B,EAAKD,EACf6N,GAAQ02B,EAAUvtC,KAAKR,EAAMs/B,GAE7B71B,EAAKmY,OAAOpY,EAAO,GACnBA,IAGF,MAAO6N,KAGT+1B,EAAY5rB,WAAWhhB,KAAKR,EAAMyJ,IACtBzJ,EAAK+hB,KAAOqrB,EAAYrrB,KAC9BlgB,MAAM7B,EAAMyJ,IAnDpB,GAAIkkC,EAoEJ,OAdAzxB,GAAM3T,UAAYA,EAClB2T,EAAMsP,QAAU4hB,EAAY5hB,QAAQjjB,GACpC2T,EAAM2E,UAAYusB,EAAYvsB,YAC9B3E,EAAMyF,MAAQwrB,EAAY5kC,GAC1B2T,EAAM8xB,QAAUA,EAChB9xB,EAAM/R,OAASA,EAIiB,kBAArBijC,GAAYa,MACrBb,EAAYa,KAAK/xB,GAGnBkxB,EAAYc,UAAUloC,KAAKkW,GACpBA,EAGT,QAAS8xB,KACP,GAAIxkC,GAAQ4jC,EAAYc,UAAU3hB,QAAQtsB,KAE1C,QAAe,IAAXuJ,IACF4jC,EAAYc,UAAUtsB,OAAOpY,EAAO,IAC7B,GAMX,QAASW,GAAO5B,EAAW4lC,GACzB,MAAOf,GAAYntC,KAAKsI,eAAkC,KAAd4lC,EAA4B,IAAMA,GAAa5lC,GAW7F,QAASiY,GAAOC,GACd2sB,EAAYnrB,KAAKxB,GACjB2sB,EAAYve,SACZue,EAAYgB,QACZ,IAAI/tC,GACAsQ,GAA+B,gBAAf8P,GAA0BA,EAAa,IAAI9P,MAAM,UACjE8K,EAAM9K,EAAM9N,MAEhB,KAAKxC,EAAI,EAAGA,EAAIob,EAAKpb,IACdsQ,EAAMtQ,KAKXogB,EAAa9P,EAAMtQ,GAAGyhB,QAAQ,MAAO,OAEf,MAAlBrB,EAAW,GACb2sB,EAAYgB,MAAMpoC,KAAK,GAAIsb,QAAO,IAAMb,EAAWwsB,OAAO,GAAK,MAE/DG,EAAYve,MAAM7oB,KAAK,GAAIsb,QAAO,IAAMb,EAAa,MAIzD,KAAKpgB,EAAI,EAAGA,EAAI+sC,EAAYc,UAAUrrC,OAAQxC,IAAK,CACjD,GAAI03B,GAAWqV,EAAYc,UAAU7tC,EACrC03B,GAASvM,QAAU4hB,EAAY5hB,QAAQuM,EAASxvB,YAUpD,QAASmY,KACP0sB,EAAY5sB,OAAO,IAWrB,QAASgL,GAAQ5qB,GACf,GAA8B,MAA1BA,EAAKA,EAAKiC,OAAS,GACrB,OAAO,CAGT,IAAIxC,GACAob,CAEJ,KAAKpb,EAAI,EAAGob,EAAM2xB,EAAYgB,MAAMvrC,OAAQxC,EAAIob,EAAKpb,IACnD,GAAI+sC,EAAYgB,MAAM/tC,GAAG+iB,KAAKxiB,GAC5B,OAAO,CAIX,KAAKP,EAAI,EAAGob,EAAM2xB,EAAYve,MAAMhsB,OAAQxC,EAAIob,EAAKpb,IACnD,GAAI+sC,EAAYve,MAAMxuB,GAAG+iB,KAAKxiB,GAC5B,OAAO,CAIX,QAAO,EAWT,QAASgtC,GAAOtO,GACd,MAAIA,aAAe3yB,OACV2yB,EAAIN,OAASM,EAAI9xB,QAGnB8xB,EAIT,MA7OA8N,GAAYlxB,MAAQkxB,EACpBA,EAAYpP,QAAUoP,EACtBA,EAAYQ,OAASA,EACrBR,EAAY1sB,QAAUA,EACtB0sB,EAAY5sB,OAASA,EACrB4sB,EAAY5hB,QAAUA,EACtB4hB,EAAY3rB,SAAW,EAAQ,KAC/B1gB,OAAO2F,KAAK8b,GAAKzR,QAAQ,SAAU5N,GACjCiqC,EAAYjqC,GAAOqf,EAAIrf,KAMzBiqC,EAAYc,aAKZd,EAAYve,SACZue,EAAYgB,SAOZhB,EAAYzqB,cAmBZyqB,EAAYD,YAAcA,EA8L1BC,EAAY5sB,OAAO4sB,EAAY/qB,QACxB+qB,EAGTvtC,EAAOD,QAAUstC,G/X+rWX,SAAUrtC,EAAQD,GgYv4WxB,QAASgO,GAAM4vB,GAEb,GADAA,EAAMx0B,OAAOw0B,KACTA,EAAI36B,OAAS,KAAjB,CAGA,GAAIwU,GAAQ,mIAAmI1S,KAC7I64B,EAEF,IAAKnmB,EAAL,CAGA,GAAIjW,GAAI2mC,WAAW1wB,EAAM,GAEzB,SADYA,EAAM,IAAM,MAAM7I,eAE5B,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,KACL,IAAK,IACH,MAAOpN,GAAIitC,CACb,KAAK,QACL,IAAK,OACL,IAAK,IACH,MAAOjtC,GAAIktC,CACb,KAAK,OACL,IAAK,MACL,IAAK,IACH,MAAOltC,GAAIT,CACb,KAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,KACL,IAAK,IACH,MAAOS,GAAImtC,CACb,KAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,IACH,MAAOntC,GAAIX,CACb,KAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,IACH,MAAOW,GAAIO,CACb,KAAK,eACL,IAAK,cACL,IAAK,QACL,IAAK,OACL,IAAK,KACH,MAAOP,EACT,SACE,UAYN,QAASotC,GAASd,GAChB,GAAIe,GAAQlnC,KAAK8lC,IAAIK,EACrB,OAAIe,IAAS9tC,EACJ4G,KAAKmnC,MAAMhB,EAAK/sC,GAAK,IAE1B8tC,GAASF,EACJhnC,KAAKmnC,MAAMhB,EAAKa,GAAK,IAE1BE,GAAShuC,EACJ8G,KAAKmnC,MAAMhB,EAAKjtC,GAAK,IAE1BguC,GAAS9sC,EACJ4F,KAAKmnC,MAAMhB,EAAK/rC,GAAK,IAEvB+rC,EAAK,KAWd,QAASiB,GAAQjB,GACf,GAAIe,GAAQlnC,KAAK8lC,IAAIK,EACrB,OAAIe,IAAS9tC,EACJiuC,EAAOlB,EAAIe,EAAO9tC,EAAG,OAE1B8tC,GAASF,EACJK,EAAOlB,EAAIe,EAAOF,EAAG,QAE1BE,GAAShuC,EACJmuC,EAAOlB,EAAIe,EAAOhuC,EAAG,UAE1BguC,GAAS9sC,EACJitC,EAAOlB,EAAIe,EAAO9sC,EAAG,UAEvB+rC,EAAK,MAOd,QAASkB,GAAOlB,EAAIe,EAAOrtC,EAAGR,GAC5B,GAAIiuC,GAAWJ,GAAa,IAAJrtC,CACxB,OAAOmG,MAAKmnC,MAAMhB,EAAKtsC,GAAK,IAAMR,GAAQiuC,EAAW,IAAM,IA5J7D,GAAIltC,GAAI,IACJlB,EAAQ,GAAJkB,EACJ4sC,EAAQ,GAAJ9tC,EACJE,EAAQ,GAAJ4tC,EACJD,EAAQ,EAAJ3tC,EACJ0tC,EAAQ,OAAJ1tC,CAgBRd,GAAOD,QAAU,SAAS0/B,EAAKx8B,GAC7BA,EAAUA,KACV,IAAIiU,SAAcuoB,EAClB,IAAa,WAATvoB,GAAqBuoB,EAAIz8B,OAAS,EACpC,MAAO+K,GAAM0xB,EACR,IAAa,WAATvoB,GAAqB7P,SAASo4B,GACvC,MAAOx8B,GAAQgsC,KAAOH,EAAQrP,GAAOkP,EAASlP,EAEhD,MAAM,IAAI3yB,OACR,wDACEgB,KAAKkS,UAAUyf,MhY2jXf,SAAUz/B,EAAQD,EAASM,GiY9lXjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAKpB,OAAOgmB,gBjYqmXvB,SAAUlnB,EAAQD,EAASM,GkYxmXjC,GAAIovB,GAAI,EAAQ,GACZzmB,EAAQ,EAAQ,GAChBZ,EAAW,EAAQ,IACnB8mC,EAAuB,EAAQ,IAC/BloB,EAA2B,EAAQ,IAMvCyI,IAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,OAJR2E,EAAM,WAAckmC,EAAqB,KAIJzqC,MAAOuiB,IACpEE,eAAgB,SAAwBnf,GACtC,MAAOmnC,GAAqB9mC,EAASL,QlYknXnC,SAAU/H,EAAQD,EAASM,GmY9nXjCL,EAAOD,QAAU,EAAQ,MnYooXnB,SAAUC,EAAQD,EAASM,GoYpoXjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAKpB,OAAOkmB,gBpY2oXvB,SAAUpnB,EAAQD,EAASM,GqY9oXzB,EAAQ,IAKZwD,OAAQ,SAAUG,MAAM,IAC1BojB,eALmB,EAAQ,OrY2pXvB,SAAUpnB,EAAQD,EAASM,GAEjC,YsY/oXA,SAAS8uC,GAAqBC,GAAO,aACnC,IAAIC,EAAQD,GACV,QAEF,IAAMrwB,IAAK,aAAAqwB,GAAK,KAALA,EAAY,EAAG,GAAGzgC,cACvB+K,EAAS,iBACf,QACEvT,MAAM,EAAF,+BAAa4Y,EAAb,kBAAwBrF,GAC5B41B,OAAO,EAAF,+BAAavwB,EAAb,mBAAyBrF,GAC9B61B,QAAQ,EAAF,+BAAaxwB,EAAb,oBAA0BrF,GAChC81B,KAAK,EAAF,+BAAazwB,EAAb,iBAAuBrF,GAC1B+1B,KAAK,EAAF,+BAAa1wB,EAAb,iBAAuBrF,ItYuoX9B,GAAI/U,GAAyBtE,EAAoB,GAE7CqvC,EAAS/qC,EAAuBtE,EAAoB,KAEpD6J,EAAUvF,EAAuBtE,EAAoB,KAErDsvC,EAAkBhrC,EAAuBtE,EAAoB,MsYvqX3DkK,EAAKH,EAAQ,IACbwlC,EAAYxlC,EAAQ,KAC1B,EAA8BA,EAAQ,IAA9BgF,EAAR,EAAQA,kBACR,EAAsChF,EAAQ,GAAtCE,EAAR,EAAQA,OAAQrB,EAAhB,EAAgBA,SAAUk/B,EAA1B,EAA0BA,QAEpBkH,EAAU,SAAAD,GAAK,MAAwB,eAApB,aAAAA,GAAK,KAALA,GAAa,IAEhCS,EAAiB,SAAAtiC,GAAG,OACxBpH,KAAMoH,EACN+hC,MAAO/hC,EACPgiC,OAAQhiC,EACRiiC,IAAKjiC,EACLkiC,IAAKliC,IAkBHuiC,GAAoB,EACpBC,GAAe,CAwBnBxlC,GAAG6jC,KAAO,SAAcnrC,GACtB,IAAKgG,EAAShG,GACZ,MAAOsH,GAAG6jC,MACRgB,MAAOnsC,EACP+sC,OAAQ,UAAF,8BACNtkC,UAAW,UAAF,+BAGb,IACE0jC,GASEnsC,EATFmsC,MACAY,EAQE/sC,EARF+sC,OACAtkC,EAOEzI,EAPFyI,UACAG,EAME5I,EANF4I,QACAokC,EAKEhtC,EALFgtC,UALF,EAUIhtC,EAJF4J,iBANF,OAMeojC,EANf,EAOE7jC,EAGEnJ,EAHFmJ,mBACAN,EAEE7I,EAFF6I,WACA0Q,EACEvZ,EADFuZ,QAMF,IAJIuzB,GACFpkC,QAAQC,KACN,qLAECwjC,EAAO,KAAM,IAAI/lC,WAAU,yBAChC,KAAK2mC,EAAQ,KAAM,IAAI3mC,WAAU,0BAGjC,IAF0CqC,GACxCC,QAAQC,KAAK,wDACXyjC,EAAQD,KACLviC,GAAcs7B,EAAQ59B,EAAGkB,QAAQoB,YACpC,KAAM,IAAIxD,WAAJ,uDAKN+lC,KAAU7kC,EAAGkB,QAAQF,eAEvBhB,EAAGkB,QAAQC,UAAYA,EACvBnB,EAAGkB,QAAQI,QAAUA,IAEjBH,IAAWnB,EAAGkB,QAAQC,UAAYA,GAClCG,IAAStB,EAAGkB,QAAQI,QAAUA,IAEpCtB,EAAGkB,QAAQF,cAAgB6jC,EAC3B7kC,EAAGkB,QAAQL,eAAiB4kC,EACvB5gC,EAAkBtD,IACrBvB,EAAG2lC,cAAcpkC,OAEe,KAAvBM,IACT7B,EAAGkB,QAAQW,mBAAqBA,EAClC,IAAM+jC,GACJL,OAA2C,KAAfjjC,CAa9B,IAZKsjC,IACH5lC,EAAG4C,WAAa,GAAIyiC,GAAUrlC,IAEhCA,EAAG6lC,eACD9lC,KAEE6kC,EAAqBC,GACrB7kC,EAAGkB,QAAQoB,WACW,gBAAfA,GAA0BgjC,EAAehjC,GAAcA,GAEhEsjC,GAEE3zB,EACFjS,EAAGkB,QAAQ+Q,SAAWA,MACjB,IAAIjS,EAAGwB,cAAc2Q,kBAAmB,CAC7C,MAAqBnS,EAAGkB,QAAQoB,WAAxB2iC,EAAR,EAAQA,IAAKC,EAAb,EAAaA,GACbllC,GAAGkB,QAAQ+Q,SAAW,GAAIjS,GAAGwB,cAAc2Q,mBACzC0yB,QACAY,SACAK,QACEb,MACAc,UAAWb,KAIjBM,GAAe,GAwBjBxlC,EAAG2lC,cAAgB,SAAApkC,GACZsD,EAAkBtD,GAIrBvB,EAAGkB,QAAQK,WAAa,KAHxBvB,EAAGkB,QAAQK,WAAaA,EAAa,EAAI,GAO7CvB,EAAG6lC,eAAiB,SAACG,GAAkC,GAA5BJ,KAA4B,wDACjC,iBAATI,GACTjmC,EAAOC,EAAGkB,QAAQoB,WAAY0jC,GAE9BhmC,EAAGkB,QAAQoB,WAAagjC,EAAeU,GAErCJ,IACE5lC,EAAG4C,WACL5C,EAAG4C,WAAW0T,UAEdivB,GAAoB,IAW1BvlC,EAAGimC,aAAe,SAAAD,GAAI,MAAIhmC,GAAG6lC,eAAeG,IAC5ChmC,EAAGkmC,cAAgBlmC,EAAGimC,aAEtBjmC,EAAG2D,oBAAsB,SAAA3J,GACvBgG,EAAGwB,cAAcmC,oBAAsB3J,GAUzCgG,EAAGmmC,kBAAoB,SAAA7C,GACrBtjC,EAAGkB,QAAQ6B,eAAiBugC,GAI9BtjC,EAAGomC,WAAapmC,EAAG6jC,MAYlB,gBAAiB,iBAAkB,YAAa,WAAWl9B,QAVvC,SAAAxP,GAAQ,OAC3B,aAAsB6I,EAAI7I,GACxBJ,IADkC,WAEhC,MAAOiJ,GAAGkB,QAAQ/J,IAEpByY,IAJkC,SAI9B5V,GACFgG,EAAGkB,QAAQ/J,GAAY6C,QtYssXvB,SAAUvE,EAAQD,EAASM,GuY15XjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAG3B,KACb,OAAO2B,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAehpB,MAASuC,EAAS0jC,IvYk6X3G,SAAUrsC,EAAQD,EAASM,GwYz6XjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAASlmC,OxYg7XjC,SAAUpG,EAAQD,EAASM,GAEjC,YyYp7XA,IAAIovB,GAAI,EAAQ,GACZ9oB,EAAU,EAAQ,IAClB+qB,EAAgB,EAAQ,IACxBzoB,EAAW,EAAQ,IACnBqjB,EAAkB,EAAQ,KAC1BxI,EAAoB,EAAQ,IAC5BlK,EAAkB,EAAQ,IAC1B0e,EAAiB,EAAQ,KACzBjiB,EAAkB,EAAQ,GAC1BkiB,EAA+B,EAAQ,KACvCqY,EAAW,EAAQ,IAEnBC,EAAsBtY,EAA6B,SAEnDnT,EAAU/O,EAAgB,WAC1BsmB,EAAS32B,MACTyD,EAAM/B,KAAK+B,GAKfgmB,IAAI5rB,OAAQ,QAASK,OAAO,EAAMG,QAASwsC,IACzCzqC,MAAO,SAAew2B,EAAOC,GAC3B,GAKI6G,GAAajtB,EAAQlV,EALrB4Q,EAAIyH,EAAgBxZ,MACpB4C,EAAS8gB,EAAkB3R,GAC3B+M,EAAIoN,EAAgBsQ,EAAO55B,GAC3B85B,EAAMxQ,MAAwB7jB,KAARo0B,EAAoB75B,EAAS65B,EAAK75B,EAG5D,IAAI2D,EAAQwL,KACVuxB,EAAcvxB,EAAE3B,YAEZkhB,EAAcgS,KAAiBA,IAAgB/G,GAAUh2B,EAAQ+8B,EAAY/hC,YAC/E+hC,MAAcj7B,GACLQ,EAASy6B,IAEE,QADpBA,EAAcA,EAAYte,MACAse,MAAcj7B,IAEtCi7B,IAAgB/G,OAA0Bl0B,KAAhBi7B,GAC5B,MAAOkN,GAASz+B,EAAG+M,EAAG4d,EAI1B,KADArmB,EAAS,QAAqBhO,KAAhBi7B,EAA4B/G,EAAS+G,GAAaj6B,EAAIqzB,EAAM5d,EAAG,IACxE3d,EAAI,EAAG2d,EAAI4d,EAAK5d,IAAK3d,IAAS2d,IAAK/M,IAAGmmB,EAAe7hB,EAAQlV,EAAG4Q,EAAE+M,GAEvE,OADAzI,GAAOzT,OAASzB,EACTkV,MzY67XL,SAAUzW,EAAQD,EAASM,G0Y3+XjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,IAEfpB,EAASoB,EAAKpB,OAEdC,EAAiBnB,EAAOD,QAAU,SAAwBgI,EAAIzE,EAAKwtC,GACrE,MAAO5vC,GAAOC,eAAe4G,EAAIzE,EAAKwtC,GAGpC5vC,GAAOC,eAAesD,OAAMtD,EAAesD,MAAO,I1Yk/XhD,SAAUzE,EAAQD,EAASM,G2Y3/XjC,GAAIovB,GAAI,EAAQ,GACZ7d,EAAc,EAAQ,IACtBzQ,EAAiB,EAAQ,IAAuCiB,CAKpEqtB,IAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,OAAQnD,OAAOC,iBAAmBA,EAAgBsD,MAAOmN,IACzFzQ,eAAgBA,K3YmgYZ,SAAUnB,EAAQD,EAASM,GAEjC,Y4Y1gYA,SAASuvC,GAAUrlC,GAAI,UACrBnK,MAAKmK,GAAKA,EACVnK,KAAK2wC,YAAc,EACnBzS,EAAM/B,SAAS,cACZrwB,KAAK,SAAAgB,GACJ,IAAI,EAAK8jC,SAAT,CACA,IAAK9jC,EAAM,MAAO,GAAK+jC,KAAK,EAC5B,IAAQpkC,GAA4BK,EAA5BL,WAAYkkC,EAAgB7jC,EAAhB6jC,WACpB,GAAKxmC,GAAG6lC,eAAevjC,GAAY,GACnC,EAAKkkC,YAAcA,KAEpBvjC,MAAM,iBAAM,GAAKyjC,KAAK,KAd3B,GAAMvmC,GAAON,EAAQ,KACfk0B,EAAQl0B,EAAQ,IAgBtBwlC,GAAUjuC,UAAUkf,QAAU,WAC5BzgB,KAAK4wC,UAAW,GAElBpB,EAAUjuC,UAAUsvC,KAAO,SAAcvU,GACvCt8B,KAAK2wC,YAAcjmC,KAAKD,MAAQ6xB,GAElCkT,EAAUjuC,UAAUyL,QAAU,WAAmB,UAC/C,MAAIhN,KAAK4wC,UACLlmC,KAAKD,MAAQzK,KAAK2wC,aAAtB,CACA3wC,KAAK6wC,KAAK,GAEV,OAAOvmC,IACL/B,OAAQ,MACR4E,IAHU,iCAIVN,OACEmiC,MAAOhvC,KAAKmK,GAAGgB,iBAGhBW,KAAK,SAAAglC,GACJ,IAAI,EAAKF,SAAT,CACA,GAAItU,GAAMwU,EAAQxU,GAClB,KAAKA,EAAK,KAAM,IAAI5vB,OAAM,cAC1B4vB,IAAY,GACZ,IACM7vB,IACJ1G,KAFe,WAEE+qC,EAAQC,YACzB7B,MAHe,WAGG4B,EAAQE,aAC1B7B,OAJe,WAII2B,EAAQG,cAC3B7B,IALe,WAKC0B,EAAQI,WAI1B,OAFA,GAAK/mC,GAAG6lC,eAAevjC,GAAY,GACnC,EAAKokC,KAAKvU,GACH4B,EAAM7B,SACX,cAEE5vB,aACAkkC,YAAa,EAAKA,aAEpBrU,MAGHlvB,MAAM,SAAAzI,GAEL4G,QAAQC,KAAR,sCAA4C7G,EAAM4I,UAClD,EAAKsjC,KAAK,SAIhBjxC,EAAOD,QAAU6vC,G5Y4hYX,SAAU5vC,EAAQD,EAASM,G6Y7lYjCL,EAAOD,QAAU,EAAQ,M7YomYnB,SAAUC,EAAQD,EAASM,G8YpmYjC,GAAI+P,GAAS,EAAQ,IACrB,GAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KAER,EAAQ,KACR,EAAQ,KACR,EAAQ,KAERpQ,EAAOD,QAAUqQ,G9Y2mYX,SAAUpQ,EAAQD,EAASM,G+YtnYjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G/Y6nYX,SAAUpQ,EAAQD,EAASM,GgZ/nYjC,EAAQ,KACR,EAAQ,IACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,IACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAKmD,QhZsoYhB,SAAUzF,EAAQD,EAASM,GiZ3pYjC,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,MjZmqYF,SAAUL,EAAQD,EAASM,GAEjC,YkZzqYA,IAAIovB,GAAI,EAAQ,GACZ1tB,EAAS,EAAQ,GACjBpB,EAAO,EAAQ,IACfsB,EAAc,EAAQ,GACtBgY,EAAU,EAAQ,IAClBrI,EAAc,EAAQ,IACtBtM,EAAgB,EAAQ,IACxB0D,EAAQ,EAAQ,GAChBvG,EAAS,EAAQ,IACjB0F,EAAgB,EAAQ,IACxB4J,EAAW,EAAQ,IACnB6H,EAAkB,EAAQ,IAC1B5H,EAAgB,EAAQ,IACxBu/B,EAAY,EAAQ,IACpB5+B,EAA2B,EAAQ,IACnC6+B,EAAqB,EAAQ,IAC7BviB,EAAa,EAAQ,KACrB4Q,EAA4B,EAAQ,KACpC4R,EAA8B,EAAQ,KACtC3R,EAA8B,EAAQ,KACtCH,EAAiC,EAAQ,IACzCjtB,EAAuB,EAAQ,IAC/BqF,EAAyB,EAAQ,KACjCyL,EAA6B,EAAQ,KACrCqM,EAAgB,EAAQ,IACxBzqB,EAAS,EAAQ,IACjBgT,EAAY,EAAQ,IACpBH,EAAa,EAAQ,IACrB5S,EAAM,EAAQ,KACdgR,EAAkB,EAAQ,GAC1BzO,EAA+B,EAAQ,KACvC8pC,EAAwB,EAAQ,GAChCC,EAA0B,EAAQ,KAClC/hB,EAAiB,EAAQ,IACzB7V,EAAsB,EAAQ,IAC9B63B,EAAW,EAAQ,KAAgC1gC,QAEnD2gC,EAASz5B,EAAU,UAInB8B,EAAmBH,EAAoBI,IACvCC,EAAmBL,EAAoBM,UAJ9B,UAMT4M,EAAkB/lB,OAAgB,UAClC6lB,EAAUhlB,EAAO0D,OACjBs3B,EAAkBhW,GAAWA,EAAiB,UAC9C1d,EAAYtH,EAAOsH,UACnByoC,EAAU/vC,EAAO+vC,QACjBC,EAAiCpS,EAA+Bv9B,EAChE4vC,EAAuBt/B,EAAqBtQ,EAC5C6vC,EAA4BR,EAA4BrvC,EACxD8vC,EAA6B1uB,EAA2BphB,EACxD+D,EAAOlE,KAAekE,MAEtBgsC,EAAa/sC,EAAO,WACpBgtC,EAAyBhtC,EAAO,cAChCI,GAAwBJ,EAAO,OAG/BitC,IAAcP,IAAYA,EAAiB,YAAMA,EAAiB,UAAEQ,UAGpEC,GAAsB3gC,GAAe5I,EAAM,WAC7C,MAES,IAFFwoC,EAAmBQ,KAAyB,KACjD1wC,IAAK,WAAc,MAAO0wC,GAAqB5xC,KAAM,KAAOmE,MAAO,IAAK1B,MACtEA,IACD,SAAUsP,EAAGC,EAAGC,GACnB,GAAImgC,GAA4BT,EAA+B9qB,EAAiB7U,EAC5EogC,UAAkCvrB,GAAgB7U,GACtD4/B,EAAqB7/B,EAAGC,EAAGC,GACvBmgC,GAA6BrgC,IAAM8U,GACrC+qB,EAAqB/qB,EAAiB7U,EAAGogC,IAEzCR,EAEAxtC,GAAO,SAAU8D,EAAKzC,GACxB,GAAI0R,GAAS46B,EAAW7pC,GAAOkpC,EAAmBzU,EAOlD,OANA7iB,GAAiB3C,GACfL,KAzCS,SA0CT5O,IAAKA,EACLzC,YAAaA,IAEV+L,IAAa2F,EAAO1R,YAAcA,GAChC0R,GAGLtF,GAAkB,SAAwBE,EAAGC,EAAGC,GAC9CF,IAAM8U,GAAiBhV,GAAgBmgC,EAAwBhgC,EAAGC,GACtEN,EAASI,EACT,IAAI7O,GAAM0O,EAAcI,EAExB,OADAL,GAASM,GACL5P,EAAO0vC,EAAY7uC,IAChB+O,EAAWhR,YAIVoB,EAAO0P,EAAG0/B,IAAW1/B,EAAE0/B,GAAQvuC,KAAM6O,EAAE0/B,GAAQvuC,IAAO,GAC1D+O,EAAam/B,EAAmBn/B,GAAchR,WAAYsR,EAAyB,GAAG,OAJjFlQ,EAAO0P,EAAG0/B,IAASG,EAAqB7/B,EAAG0/B,EAAQl/B,EAAyB,OACjFR,EAAE0/B,GAAQvuC,IAAO,GAIVivC,GAAoBpgC,EAAG7O,EAAK+O,IAC9B2/B,EAAqB7/B,EAAG7O,EAAK+O,IAGpCogC,GAAoB,SAA0BtgC,EAAGwH,GACnD5H,EAASI,EACT,IAAIugC,GAAa94B,EAAgBD,GAC7B9S,EAAOooB,EAAWyjB,GAAYl3B,OAAOm3B,GAAuBD,GAIhE,OAHAd,GAAS/qC,EAAM,SAAUvD,GAClBsO,IAAejR,EAAK4tB,GAAuBmkB,EAAYpvC,IAAM2O,GAAgBE,EAAG7O,EAAKovC,EAAWpvC,MAEhG6O,GAGLygC,GAAU,SAAgBzgC,EAAGwH,GAC/B,WAAsBlR,KAAfkR,EAA2B63B,EAAmBr/B,GAAKsgC,GAAkBjB,EAAmBr/B,GAAIwH,IAGjG4U,GAAwB,SAA8BzC,GACxD,GAAI1Z,GAAIJ,EAAc8Z,GAClBzqB,EAAaV,EAAKuxC,EAA4B9xC,KAAMgS,EACxD,SAAIhS,OAAS6mB,GAAmBxkB,EAAO0vC,EAAY//B,KAAO3P,EAAO2vC,EAAwBhgC,QAClF/Q,IAAeoB,EAAOrC,KAAMgS,KAAO3P,EAAO0vC,EAAY//B,IAAM3P,EAAOrC,KAAMyxC,IAAWzxC,KAAKyxC,GAAQz/B,KACpG/Q,IAGF6Q,GAA4B,SAAkCC,EAAGC,GACnE,GAAIrK,GAAK6R,EAAgBzH,GACrB7O,EAAM0O,EAAcI,EACxB,IAAIrK,IAAOkf,IAAmBxkB,EAAO0vC,EAAY7uC,IAASb,EAAO2vC,EAAwB9uC,GAAzF,CACA,GAAIK,GAAaouC,EAA+BhqC,EAAIzE,EAIpD,QAHIK,IAAclB,EAAO0vC,EAAY7uC,IAAUb,EAAOsF,EAAI8pC,IAAW9pC,EAAG8pC,GAAQvuC,KAC9EK,EAAWtC,YAAa,GAEnBsC,IAGLkvC,GAAuB,SAA6B1gC,GACtD,GAAI6c,GAAQijB,EAA0Br4B,EAAgBzH,IAClDsE,IAIJ,OAHAm7B,GAAS5iB,EAAO,SAAU1rB,GACnBb,EAAO0vC,EAAY7uC,IAASb,EAAOwV,EAAY3U,IAAM6C,EAAKsQ,EAAQnT,KAElEmT,GAGLk8B,GAAyB,SAAUxgC,GACrC,GAAI2gC,GAAsB3gC,IAAM8U,EAC5B+H,EAAQijB,EAA0Ba,EAAsBV,EAAyBx4B,EAAgBzH,IACjGsE,IAMJ,OALAm7B,GAAS5iB,EAAO,SAAU1rB,IACpBb,EAAO0vC,EAAY7uC,IAAUwvC,IAAuBrwC,EAAOwkB,EAAiB3jB,IAC9E6C,EAAKsQ,EAAQ07B,EAAW7uC,MAGrBmT,EAKJnR,KACHyhB,EAAU,WACR,GAAI5e,EAAc40B,EAAiB38B,MAAO,KAAMiJ,GAAU,8BAC1D,IAAIxD,GAAe9C,UAAUC,YAA2ByF,KAAjB1F,UAAU,GAA+BwuC,EAAUxuC,UAAU,QAAhC0F,GAChEH,EAAMjD,EAAIQ,GACVwhB,EAAS,SAAU9iB,GACjBnE,OAAS6mB,GAAiBtmB,EAAK0mB,EAAQ+qB,EAAwB7tC,GAC/D9B,EAAOrC,KAAMyxC,IAAWpvC,EAAOrC,KAAKyxC,GAASvpC,KAAMlI,KAAKyxC,GAAQvpC,IAAO,GAC3EiqC,GAAoBnyC,KAAMkI,EAAKqK,EAAyB,EAAGpO,IAG7D,OADIqN,IAAeygC,IAAYE,GAAoBtrB,EAAiB3e,GAAOlH,cAAc,EAAM+Y,IAAKkN,IAC7F7iB,GAAK8D,EAAKzC,IAGnBk3B,EAAkBhW,EAAiB,UAEnC8I,EAAckN,EAAiB,WAAY,WACzC,MAAO3iB,GAAiBha,MAAMkI,MAGhCunB,EAAc9I,EAAS,gBAAiB,SAAUlhB,GAChD,MAAOrB,IAAKa,EAAIQ,GAAcA,KAGhC2d,EAA2BphB,EAAImsB,GAC/B7b,EAAqBtQ,EAAI6P,GACzB8F,EAAuB3V,EAAIqwC,GAC3B9S,EAA+Bv9B,EAAI8P,GACnC2tB,EAA0Bz9B,EAAIqvC,EAA4BrvC,EAAIywC,GAC9D/S,EAA4B19B,EAAIuwC,GAEhC/qC,EAA6BxF,EAAI,SAAUrB,GACzC,MAAOyD,IAAK6R,EAAgBtV,GAAOA,IAGjC6Q,IAEFogC,EAAqBjV,EAAiB,eACpC37B,cAAc,EACdE,IAAK,WACH,MAAO8Y,GAAiBha,MAAMyF,eAG7BoU,GACH4V,EAAc5I,EAAiB,uBAAwBsH,IAAyBiV,QAAQ,MAK9F/T,GAAI1tB,QAAQ,EAAMyO,aAAa,EAAMhM,MAAM,EAAMH,QAASiB,EAAeb,MAAOa,IAC9EG,OAAQshB,IAGV6qB,EAAS3iB,EAAWzpB,IAAwB,SAAUzE,GACpD2wC,EAAsB3wC,KAGxB0uB,GAAI5rB,OAlLS,SAkLOG,MAAM,EAAMK,QAASiB,IACvCytC,UAAW,WAAcV,IAAa,GACtCW,UAAW,WAAcX,IAAa,KAGxC5iB,GAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,QAASiB,EAAeb,MAAOmN,IAG/D7K,OAAQ6rC,GAGRzxC,eAAgB8Q,GAGhBid,iBAAkBujB,GAGlBtwC,yBAA0B+P,KAG5Bud,GAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,QAASiB,IAGzC+mB,oBAAqBwmB,KAKvBlB,IAIA/hB,EAAe7I,EAlNF,UAoNb9O,EAAW45B,IAAU,GlZgrYf,SAAU7xC,EAAQD,EAASM,GmZ16YjC,GAAIuS,GAAU,EAAQ,IAClBgH,EAAkB,EAAQ,IAC1Bi5B,EAAuB,EAAQ,KAA8CzwC,EAC7E2vB,EAAa,EAAQ,KAErBkhB,EAA+B,gBAAV/qC,SAAsBA,QAAUhH,OAAOmrB,oBAC5DnrB,OAAOmrB,oBAAoBnkB,WAE3BgrC,EAAiB,SAAUnrC,GAC7B,IACE,MAAO8qC,GAAqB9qC,GAC5B,MAAOhD,GACP,MAAOgtB,GAAWkhB,IAKtBjzC,GAAOD,QAAQqC,EAAI,SAA6B2F,GAC9C,MAAOkrC,IAA8B,UAAfrgC,EAAQ7K,GAC1BmrC,EAAenrC,GACf8qC,EAAqBj5B,EAAgB7R,MnZm7YrC,SAAU/H,EAAQD,EAASM,GoZx8YjC,GAAIovB,GAAI,EAAQ,GACZvZ,EAAa,EAAQ,IACrBzT,EAAS,EAAQ,IACjB4D,EAAW,EAAQ,IACnBjB,EAAS,EAAQ,IACjB+tC,EAAyB,EAAQ,KAEjCC,EAAyBhuC,EAAO,6BAChCiuC,EAAyBjuC,EAAO,4BAIpCqqB,IAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,QAAS8uC,IACzC,IAAO,SAAU7vC,GACf,GAAIuiB,GAASxf,EAAS/C,EACtB,IAAIb,EAAO2wC,EAAwBvtB,GAAS,MAAOutB,GAAuBvtB,EAC1E,IAAItO,GAASrB,EAAW,UAAU2P,EAGlC,OAFAutB,GAAuBvtB,GAAUtO,EACjC87B,EAAuB97B,GAAUsO,EAC1BtO,MpZi9YL,SAAUvX,EAAQD,EAASM,GqZp+YjC,GAAIovB,GAAI,EAAQ,GACZhtB,EAAS,EAAQ,IACjBqkB,EAAW,EAAQ,IACnBlY,EAAc,EAAQ,IACtBxJ,EAAS,EAAQ,IACjB+tC,EAAyB,EAAQ,KAEjCE,EAAyBjuC,EAAO,4BAIpCqqB,IAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,QAAS8uC,IACzCjW,OAAQ,SAAgBoW,GACtB,IAAKxsB,EAASwsB,GAAM,KAAMjqC,WAAUuF,EAAY0kC,GAAO,mBACvD,IAAI7wC,EAAO4wC,EAAwBC,GAAM,MAAOD,GAAuBC,OrZ6+YrE,SAAUtzC,EAAQD,EAASM,GsZ3/YjC,GAAIovB,GAAI,EAAQ,GACZnqB,EAAgB,EAAQ,IACxB0D,EAAQ,EAAQ,GAChB82B,EAA8B,EAAQ,KACtC13B,EAAW,EAAQ,GAQvBqnB,IAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,QAJpBiB,GAAiB0D,EAAM,WAAc82B,EAA4B19B,EAAE,OAK/EkV,sBAAuB,SAA+BvP,GACpD,GAAI4qC,GAAyB7S,EAA4B19B,CACzD,OAAOuwC,GAAyBA,EAAuBvqC,EAASL,WtZogZ9D,SAAU/H,EAAQD,EAASM,GuZnhZL,EAAQ,GAId,kBvZ0hZhB,SAAUL,EAAQD,KAOlB,SAAUC,EAAQD,EAASM,GwZriZL,EAAQ,GAId,gBxZ4iZhB,SAAUL,EAAQD,EAASM,GyZhjZL,EAAQ,GAId,uBzZujZhB,SAAUL,EAAQD,EAASM,G0Z3jZL,EAAQ,GAId,U1ZkkZhB,SAAUL,EAAQD,EAASM,G2ZtkZL,EAAQ,GAId,a3Z6kZhB,SAAUL,EAAQD,EAASM,G4ZjlZL,EAAQ,GAId,Y5ZwlZhB,SAAUL,EAAQD,EAASM,G6Z5lZL,EAAQ,GAId,W7ZmmZhB,SAAUL,EAAQD,EAASM,G8ZvmZL,EAAQ,GAId,Y9Z8mZhB,SAAUL,EAAQD,EAASM,G+ZlnZL,EAAQ,GAId,U/ZynZhB,SAAUL,EAAQD,EAASM,Gga7nZjC,GAAIqxC,GAAwB,EAAQ,GAChCC,EAA0B,EAAQ,IAItCD,GAAsB,eAItBC,KhaooZM,SAAU3xC,EAAQD,EAASM,Gia7oZjC,GAAI6V,GAAa,EAAQ,IACrBw7B,EAAwB,EAAQ,GAChC9hB,EAAiB,EAAQ,GAI7B8hB,GAAsB,eAItB9hB,EAAe1Z,EAAW,UAAW,WjaopZ/B,SAAUlW,EAAQD,EAASM,Gka9pZL,EAAQ,GAId,gBlaqqZhB,SAAUL,EAAQD,EAASM,GmazqZjC,GAAI0B,GAAS,EAAQ,EACA,GAAQ,IAIdA,EAAO+L,KAAM,QAAQ,InagrZ9B,SAAU9N,EAAQD,KAOlB,SAAUC,EAAQD,KAOlB,SAAUC,EAAQD,EAASM,GoansZL,EAAQ,GAId,iBpa0sZhB,SAAUL,EAAQD,EAASM,Gqa9sZL,EAAQ,GAId,YraqtZhB,SAAUL,EAAQD,EAASM,GsaztZL,EAAQ,GAId,YtaguZhB,SAAUL,EAAQD,EAASM,GuapuZL,EAAQ,GAId,gBva2uZhB,SAAUL,EAAQD,EAASM,Gwa/uZL,EAAQ,GAId,exasvZhB,SAAUL,EAAQD,EAASM,GyazvZL,EAAQ,GAId,azaiwZhB,SAAUL,EAAQD,EAASM,G0arwZL,EAAQ,GAId,iB1a6wZhB,SAAUL,EAAQD,EAASM,G2ajxZL,EAAQ,GAEd,e3ayxZhB,SAAUL,EAAQD,EAASM,G4a5xZjCL,EAAOD,QAAU,EAAQ,M5akyZnB,SAAUC,EAAQD,EAASM,G6alyZjCL,EAAOD,QAAU,EAAQ,M7ayyZnB,SAAUC,EAAQD,EAASM,G8azyZjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G9agzZX,SAAUpQ,EAAQD,EAASM,G+alzZjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G/ayzZX,SAAUpQ,EAAQD,EAASM,Ggb3zZjC,EAAQ,IACR,EAAQ,IACR,EAAQ,IACR,EAAQ,IACR,IAAIkzC,GAA+B,EAAQ,IAE3CvzC,GAAOD,QAAUwzC,EAA6BnxC,EAAE,ahbk0Z1C,SAAUpC,EAAQD,EAASM,Gibx0ZjCL,EAAOD,QAAU,EAAQ,Mjb80ZnB,SAAUC,EAAQD,EAASM,Gkb90ZjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Glbq1ZX,SAAUpQ,EAAQD,EAASM,Gmbv1ZjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAGwe,MACb,OAAOxe,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAe7I,OAAU5d,EAAS0jC,Inb+1Z5G,SAAUrsC,EAAQD,EAASM,Gobt2ZjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAAS/lB,Qpb62ZjC,SAAUvmB,EAAQD,EAASM,GAEjC,Yqbj3ZA,IAAIovB,GAAI,EAAQ,GACZ+jB,EAAU,EAAQ,KAAgCjtB,MAQtDkJ,IAAI5rB,OAAQ,QAASK,OAAO,EAAMG,QAPC,EAAQ,KAEY,YAMrDkiB,OAAQ,SAAgB8D,GACtB,MAAOmpB,GAAQpzC,KAAMiqB,EAAYtnB,UAAUC,OAAS,EAAID,UAAU,OAAK0F,Qrb03ZrE,SAAUzI,EAAQD,EAASM,GAEjC,Ysbj4ZA,IAAIozC,EAWUzzC,GAAOD,QAAQsN,QAAU,SAAS0J,EAAS28B,GACvD,GACIrmC,GADAtI,EAAQ,GAAI0uC,EAGhB,OAAO34B,SAAQoqB,MACbnuB,EACA,GAAI+D,SAAQ,SAAS7O,EAAS6K,GAC5BzJ,EAAUqmB,WAAW,WACnB5c,EAAO/R,IACN2uC,OAEJxnC,KAAK,SAAS+S,GAEf,MADAwrB,cAAap9B,GACN4R,GACN,SAAS7Q,GAEV,KADAq8B,cAAap9B,GACPe,IAOVqlC,GAAezzC,EAAOD,QAAQ0zC,aAAe,WAC3C3mC,MAAMnM,KAAKP,MACXA,KAAK++B,MAAQryB,QAAQqyB,MACrB/+B,KAAKuN,QAAU,WAGjB8lC,EAAa9xC,UAAYT,OAAO6F,OAAO+F,MAAMnL,WAC7C8xC,EAAa9xC,UAAUZ,KAAO,gBtb84ZxB,SAAUf,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7CqvC,EAAS/qC,EAAuBtE,EAAoB,KAEpD6O,EAAQvK,EAAuBtE,EAAoB,KAEnD6J,EAAUvF,EAAuBtE,EAAoB,Kubz8ZrDwJ,EAAIO,EAAQ,EAEhBpK,GAAOD,QAAU,SAASwK,GACxB,GAAIopC,GAAgB,MAChBvtC,GAAQ,EAAH,WAAGJ,MAAMrE,UAsBlB4I,GAAGgwB,QAKD5d,GAAI,SAASme,EAAQpa,EAAU7X,GAC7B,GAAI+qC,GAAO/gB,EAAOmR,EAAMY,EAAMpe,CAC9B,KAAK9F,EACH,MAAOtgB,KAST,KAPA06B,EAASA,EAAOhqB,MAAM6iC,GACtBC,EAAQxzC,KAAKyzC,aAAezzC,KAAKyzC,eAKjChhB,EAAQiI,EAAOgZ,QACRjhB,GACLrM,EAAOotB,EAAM/gB,GACbmR,EAAOxd,EAAOA,EAAKoe,QACnBZ,EAAKxf,KAAOogB,KACZZ,EAAKn7B,QAAUA,EACfm7B,EAAKtjB,SAAWA,EAChBkzB,EAAM/gB,IAAW+R,KAAMA,EAAMpgB,KAAMgC,EAAOA,EAAKhC,KAAOwf,GACtDnR,EAAQiI,EAAOgZ,OAGjB,OAAO1zC,OAQTu7B,IAAK,SAASb,EAAQpa,EAAU7X,GAC9B,GAAIgqB,GAAO+gB,EAAO5P,EAAMY,EAAMh8B,EAAImrC,CAGlC,IAAMH,EAAQxzC,KAAKyzC,WAAnB,CAGA,KAAM/Y,GAAUpa,GAAY7X,GAE1B,aADOzI,MAAKyzC,WACLzzC,IAOT,KAFA06B,EAASA,EAASA,EAAOhqB,MAAM6iC,IAAiB,aAAA9pC,GAAC,KAADA,EAAO+pC,GACvD/gB,EAAQiI,EAAOgZ,QACRjhB,GAGL,GAFAmR,EAAO4P,EAAM/gB,SACN+gB,GAAM/gB,GACRmR,IAAUtjB,GAAY7X,GAA3B,CAMA,IAFA+7B,EAAOZ,EAAKY,KACZZ,EAAOA,EAAKxf,KACLwf,IAASY,GACdh8B,EAAKo7B,EAAKtjB,SACVqzB,EAAM/P,EAAKn7B,SACN6X,GAAY9X,IAAO8X,GAAc7X,GAAWkrC,IAAQlrC,IACvDzI,KAAKuc,GAAGkW,EAAOjqB,EAAImrC,GAErB/P,EAAOA,EAAKxf,IAEdqO,GAAQiI,EAAOgZ,QAGjB,MAAO1zC,QAST4zC,QAAS,SAASlZ,GAChB,GAAIjI,GAAOmR,EAAM4P,EAAOhP,EAAMh7B,EAAMgqB,EAAKlqB,CACzC,MAAMkqC,EAAQxzC,KAAKyzC,YACjB,MAAOzzC,KAST,KAPAwzB,EAAMggB,EAAMhgB,IACZkH,EAASA,EAAOhqB,MAAM6iC,GACtBjqC,EAAOtD,EAAMzF,KAAKoC,UAAW,GAI7B8vB,EAAQiI,EAAOgZ,QACRjhB,GAAO,CAEZ,GADAmR,EAAO4P,EAAM/gB,GAGX,IADA+R,EAAOZ,EAAKY,MACJZ,EAAOA,EAAKxf,QAAUogB,GAC5BZ,EAAKtjB,SAAS1e,MAAMgiC,EAAKn7B,SAAWzI,KAAMsJ,EAI9C,IADAs6B,EAAOpQ,EACG,MAGR,KAFAgR,EAAOZ,EAAKY,KACZh7B,GAAO,gBAACipB,IAAD,OAAenpB,IACds6B,EAAOA,EAAKxf,QAAUogB,GAC5BZ,EAAKtjB,SAAS1e,MAAMgiC,EAAKn7B,SAAWzI,KAAMwJ,GAG9CipB,EAAQiI,EAAOgZ,QAGjB,MAAO1zC,QAOXmK,EAAGgwB,OAAOh4B,KAAOgI,EAAGgwB,OAAO5d,GAK3BpS,EAAGgwB,OAAO0Z,OAAS1pC,EAAGgwB,OAAOoB,Mvbs+ZzB,SAAU37B,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KwbloatDwJ,EAAIO,EAAQ,EAGhBpK,GAAOD,QAAU,SAASwK,GAuBxBA,EAAGmU,SAAW,SAASw1B,EAAMC,GACvBtqC,EAAElD,QAAQutC,IACZ3pC,EAAGmU,SAAS01B,UAAUF,EAAK,GAAIA,EAAK,IACpC9zC,KAAKqf,SAAWy0B,EAAK,GACrB9zC,KAAKsf,UAAYw0B,EAAK,IACbrqC,EAAEZ,SAASirC,IACpB3pC,EAAGmU,SAAS01B,UAAUF,EAAKz0B,SAAUy0B,EAAKx0B,WAC1Ctf,KAAKqf,SAAWy0B,EAAKz0B,SACrBrf,KAAKsf,UAAYw0B,EAAKx0B,WACb7V,EAAEwqC,SAASH,IAASrqC,EAAEwqC,SAASF,IACxC5pC,EAAGmU,SAAS01B,UAAUF,EAAMC,GAC5B/zC,KAAKqf,SAAWy0B,EAChB9zC,KAAKsf,UAAYy0B,IAEjB/zC,KAAKqf,SAAW,EAChBrf,KAAKsf,UAAY,EAKnB,IAAIvf,GAAOC,IACPA,MAAKk0C,kBAAoBl0C,KAAKm0C,mBAGhCn0C,KAAKo0C,UAAYp0C,KAAKqf,SACtBrf,KAAKq0C,WAAar0C,KAAKsf,UACvBtf,KAAKk0C,iBAAiB,WAAY,WAChC,MAAOn0C,GAAKq0C,YAEdp0C,KAAKk0C,iBAAiB,YAAa,WACjC,MAAOn0C,GAAKs0C,aAEdr0C,KAAKm0C,iBAAiB,WAAY,SAAS9U,GACzCl1B,EAAGmU,SAAS01B,UAAU3U,EAAKt/B,EAAKuf,WAChCvf,EAAKq0C,UAAY/U,IAEnBr/B,KAAKm0C,iBAAiB,YAAa,SAAS9U,GAC1Cl1B,EAAGmU,SAAS01B,UAAUj0C,EAAKsf,SAAUggB,GACrCt/B,EAAKs0C,WAAahV,MAiBxBl1B,EAAGmU,SAAS01B,UAAY,SAAS30B,EAAUC,GACzC,GAAID,GAAY,GACd,KAAM,IAAI3S,OAAM,wBAA0B2S,EAAW,YAEvD,IAAIA,EAAW,GACb,KAAM,IAAI3S,OAAM,wBAA0B2S,EAAW,WAEvD,IAAIC,GAAa,IACf,KAAM,IAAI5S,OAAM,yBAA2B4S,EAAY,aAEzD,IAAIA,EAAY,IACd,KAAM,IAAI5S,OAAM,yBAA2B4S,EAAY,cAQ3DnV,EAAGmU,SAASpM,QAAU,iBACpB,IAAI,GAAJ,QAAY,SAACrG,EAAS6K,GACpBoK,UAAUwzB,YAAYC,mBAAmB,SAAShjB,GAChD1lB,EACE,GAAI1B,GAAGmU,UACLe,SAAUkS,EAASijB,OAAOn1B,SAC1BC,UAAWiS,EAASijB,OAAOl1B,cAG9B5I,MAGPjN,EAAES,OACAC,EAAGmU,SAAS/c,WAMVqI,OAAQ,WAEN,MADAO,GAAGmU,SAAS01B,UAAUh0C,KAAKqf,SAAUrf,KAAKsf,YAExClB,OAAQ,WACRiB,SAAUrf,KAAKqf,SACfC,UAAWtf,KAAKsf,YASpBm1B,UAAW,SAAS/uB,GAClB,GAAIgvB,GAAMptC,KAAKqtC,GAAK,IAChBC,EAAU50C,KAAKqf,SAAWq1B,EAC1BG,EAAW70C,KAAKsf,UAAYo1B,EAC5BI,EAAUpvB,EAAMrG,SAAWq1B,EAC3BK,EAAWrvB,EAAMpG,UAAYo1B,EAC7BM,EAAWJ,EAAUE,EACrBG,EAAYJ,EAAWE,EACvBG,EAAkB5tC,KAAK6tC,IAAIH,EAAW,GACtCI,EAAmB9tC,KAAK6tC,IAAIF,EAAY,GAExCxyC,EACFyyC,EAAkBA,EAClB5tC,KAAK+tC,IAAIT,GACPttC,KAAK+tC,IAAIP,GACTM,EACAA,CAEJ,OADA3yC,GAAI6E,KAAKklB,IAAI,EAAK/pB,GACX,EAAI6E,KAAKguC,KAAKhuC,KAAKiuC,KAAK9yC,KAQjC+yC,aAAc,SAAS9vB,GACrB,MAA+B,MAAxB1lB,KAAKy0C,UAAU/uB,IAQxB+vB,QAAS,SAAS/vB,GAChB,MAA+B,QAAxB1lB,KAAKy0C,UAAU/uB,QxbspaxB,SAAU9lB,EAAQD,EAASM,GAEjC,Yybj0aA,IAAIwJ,GAAIO,EAAQ,EAEhBpK,GAAOD,QAAU,SAASwK,GAiBxBA,EAAG+T,IAAM,SAAS41B,GAChB,GAAI/zC,GAAOC,IAEX,IADAD,EAAK21C,mBACDjsC,EAAEZ,SAASirC,GACb,GAAIA,YAAgB3pC,GAAG8B,KACrBlM,EAAK41C,cAAc7B,GAAM,GACzB/zC,EAAK61C,eAAe9B,GAAM,OACrB,CACL,GAAIrqC,EAAEgF,WAAWqlC,GACf,KAAM,IAAIpnC,OACR,uDAGJvC,GAAGkW,YAAYyzB,EAAM,SAAS+B,EAAYC,GACxC,IAAKrsC,EAAEoT,SAASi5B,GACd,KAAM,IAAIppC,OAAM,iDAElB3M,GAAK21C,gBAAgBI,MACrB3rC,EAAGkW,YAAYw1B,EAAY,SAASE,EAASC,GAC3C,GAAmB,SAAfA,GAAwC,UAAfA,EAC3B,KAAM,IAAItpC,OACR,0DAGJ,KAAKjD,EAAEuqB,UAAU+hB,GACf,KAAM,IAAIrpC,OACR,2DAGJ3M,GAAK21C,gBAAgBI,GAAQE,GAAcD,QAWrD5rC,EAAG+T,IAAI3c,UAAUqI,OAAS,WACxB,MAAOH,GAAE0V,MAAMnf,KAAK01C,kBAGtBvrC,EAAG+T,IAAI3c,UAAU00C,WAAa,SAASC,EAAYJ,EAAQC,GAMzD,GALID,YAAkB3rC,GAAG8B,KACvB6pC,EAASA,EAAOn3B,GACPm3B,YAAkB3rC,GAAGgsC,OAC9BL,EAAS,QAAUA,EAAOM,YAEvB3sC,EAAEoT,SAASi5B,GACd,KAAM,IAAIppC,OAAM,2BAElB,KAAKjD,EAAEuqB,UAAU+hB,GACf,KAAM,IAAIrpC,OAAM,wCAElB,IAAI2pC,GAAcr2C,KAAK01C,gBAAgBI,EACvC,KAAKO,EAAa,CAChB,IAAKN,EAEH,MAEAM,MACAr2C,KAAK01C,gBAAgBI,GAAUO,EAI/BN,EACF/1C,KAAK01C,gBAAgBI,GAAQI,IAAc,SAEpCG,GAAYH,GACfzsC,EAAEs+B,QAAQsO,UACLr2C,MAAK01C,gBAAgBI,KAKlC3rC,EAAG+T,IAAI3c,UAAU+0C,WAAa,SAASJ,EAAYJ,GAC7CA,YAAkB3rC,GAAG8B,KACvB6pC,EAASA,EAAOn3B,GACPm3B,YAAkB3rC,GAAGgsC,OAC9BL,EAAS,QAAUA,EAAOM,UAE5B,IAAIC,GAAcr2C,KAAK01C,gBAAgBI,EACvC,SAAKO,KAGEA,EAAYH,IAQrB/rC,EAAG+T,IAAI3c,UAAUo0C,cAAgB,SAASG,EAAQC,GAChD/1C,KAAKi2C,WAAW,OAAQH,EAAQC,IAWlC5rC,EAAG+T,IAAI3c,UAAUg1C,cAAgB,SAAST,GACxC,MAAO91C,MAAKs2C,WAAW,OAAQR,IAQjC3rC,EAAG+T,IAAI3c,UAAUq0C,eAAiB,SAASE,EAAQC,GACjD/1C,KAAKi2C,WAAW,QAASH,EAAQC,IAWnC5rC,EAAG+T,IAAI3c,UAAUi1C,eAAiB,SAASV,GACzC,MAAO91C,MAAKs2C,WAAW,QAASR,IAOlC3rC,EAAG+T,IAAI3c,UAAUk1C,oBAAsB,SAASV,GAC9C/1C,KAAK21C,cAzJU,IAyJgBI,IAOjC5rC,EAAG+T,IAAI3c,UAAUm1C,oBAAsB,WACrC,MAAO12C,MAAKu2C,cAjKG,MAwKjBpsC,EAAG+T,IAAI3c,UAAUo1C,qBAAuB,SAASZ,GAC/C/1C,KAAK41C,eAzKU,IAyKiBG,IAOlC5rC,EAAG+T,IAAI3c,UAAUq1C,qBAAuB,WACtC,MAAO52C,MAAKw2C,eAjLG,MA6LjBrsC,EAAG+T,IAAI3c,UAAUs1C,kBAAoB,SAASC,GAK5C,GAJIA,YAAgB3sC,GAAGgsC,OAErBW,EAAOA,EAAKV,WAEV3sC,EAAEoT,SAASi6B,GACb,MAAO92C,MAAKu2C,cAAc,QAAUO,EAEtC,MAAM,IAAIpqC,OAAM,uCAYlBvC,EAAG+T,IAAI3c,UAAUw1C,mBAAqB,SAASD,GAK7C,GAJIA,YAAgB3sC,GAAGgsC,OAErBW,EAAOA,EAAKV,WAEV3sC,EAAEoT,SAASi6B,GACb,MAAO92C,MAAKw2C,eAAe,QAAUM,EAEvC,MAAM,IAAIpqC,OAAM,uCAWlBvC,EAAG+T,IAAI3c,UAAUy1C,kBAAoB,SAASF,EAAMf,GAKlD,GAJIe,YAAgB3sC,GAAGgsC,OAErBW,EAAOA,EAAKV,WAEV3sC,EAAEoT,SAASi6B,GAEb,WADA92C,MAAK21C,cAAc,QAAUmB,EAAMf,EAGrC,MAAM,IAAIrpC,OAAM,uCAWlBvC,EAAG+T,IAAI3c,UAAU01C,mBAAqB,SAASH,EAAMf,GAKnD,GAJIe,YAAgB3sC,GAAGgsC,OAErBW,EAAOA,EAAKV,WAEV3sC,EAAEoT,SAASi6B,GAEb,WADA92C,MAAK41C,eAAe,QAAUkB,EAAMf,EAGtC,MAAM,IAAIrpC,OAAM,yCzbu2ad,SAAU9M,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C6J,EAAUvF,EAAuBtE,EAAoB,KAErDi3C,EAAQ3yC,EAAuBtE,EAAoB,MAEnD6b,EAAWvX,EAAuBtE,EAAoB,KAEtD2b,EAAOrX,EAAuBtE,EAAoB,K0bxnblDwJ,EAAIO,EAAQ,EAEhBpK,GAAOD,QAAU,SAASwK,GAcxBA,EAAGsU,GAAK,WACNze,KAAKm3C,YAAYv1C,MAAM5B,KAAM2C,YAG/B8G,EAAES,OACAC,EAAGsU,GAAGld,WAEJ41C,YAAa,eAIjB1tC,EAAES,OAAOC,EAAGsU,IAKVhB,QAAStT,EAAGsT,QAGZ25B,iBAOAC,iBAAkB,SAASC,EAAQC,GACjCptC,EAAGsU,GAAG24B,cAAcE,GAAUC,GAOhCx4B,QAAS,SAASy4B,GAChB,GAAID,GAAUptC,EAAGsU,GAAG24B,cAAcI,EAAKx4B,KACvC,OAAIu4B,GACKA,EAAQC,OAEf,MAQNrtC,EAAGsU,GAAG44B,iBAAiB,QAAS,SAASG,GACvC,GAAIC,GAAK,IAKT,OAJAttC,GAAG4V,WAAWy3B,EAAKE,IAAK,SAASC,GAC/BA,EAASxtC,EAAGsU,GAAGM,QAAQ44B,GACvBF,EAAKE,EAAOC,mBAAmBH,KAE1BA,IAUTttC,EAAGsU,GAAGo5B,IAAM1tC,EAAGsU,GAAGhB,SAEd05B,YAAa,SAAShzC,GACpBnE,KAAK83C,OAAS3zC,GAMhBA,MAAO,WACL,MAAOnE,MAAK83C,QAOdluC,OAAQ,WACN,MAAOO,GAAGwT,QAAQ3d,KAAKmE,UAGzByzC,mBAAoB,SAAS5N,GAC3B,MAAOhqC,OAGT+3C,UAAW,SAASC,GAClB,MAAOh4C,MAAKmE,WAUlBgG,EAAGsU,GAAGw5B,UAQN9tC,EAAGsU,GAAGy5B,MAAQ/tC,EAAGsU,GAAGhB,SAMhB7T,OAAQ,WACN,OAASoV,KAAM,WAGjB44B,mBAAoB,SAAS5N,GAC3B,MAAOhqC,OAGT+3C,UAAW,SAASC,GAClB,MAAO7tC,GAAGsU,GAAGw5B,UAKnB9tC,EAAGsU,GAAG44B,iBAAiB,SAAU,SAASG,GACxC,MAAO,IAAIrtC,GAAGsU,GAAGy5B,QASnB/tC,EAAGsU,GAAG05B,UAAYhuC,EAAGsU,GAAGhB,SAEpB05B,YAAa,SAASiB,GACpBp4C,KAAKq4C,QAAUD,GAOjBA,OAAQ,WACN,MAAOp4C,MAAKq4C,SAOdzuC,OAAQ,WACN,OAASoV,KAAM,YAAao5B,OAAQp4C,KAAKq4C,UAG3CT,mBAAoB,SAAS5N,GAC3B,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,MAAO,IAAI/tC,GAAGsU,GAAGo5B,IAAI73C,KAAKo4C,SACrB,IAAIpO,YAAoB7/B,GAAGsU,GAAGo5B,IACnC,MAAO,IAAI1tC,GAAGsU,GAAGo5B,IAAI7N,EAAS7lC,QAAUnE,KAAKo4C,SACxC,IAAIpO,YAAoB7/B,GAAGsU,GAAG05B,UACnC,MAAO,IAAIhuC,GAAGsU,GAAG05B,UAAUn4C,KAAKo4C,SAAWpO,EAASoO,SAEpD,MAAM,IAAI1rC,OAAM,oCARhB,MAAO1M,OAYX+3C,UAAW,SAASC,GAClB,MAAKA,GAGEA,EAAWh4C,KAAKo4C,SAFdp4C,KAAKo4C,YAOpBjuC,EAAGsU,GAAG44B,iBAAiB,YAAa,SAASG,GAC3C,MAAO,IAAIrtC,GAAGsU,GAAG05B,UAAUX,EAAKY,UASlCjuC,EAAGsU,GAAG65B,OAASnuC,EAAGsU,GAAGhB,SAEjB05B,YADmC,SACvBhzC,GACVnE,KAAK83C,OAAS3zC,GAGhBA,MALmC,WAMjC,MAAOnE,MAAK83C,QAOdluC,OAbmC,WAcjC,OAASoV,KAAM,SAAU7a,MAAOnE,KAAKmE,UAGvCyzC,mBAjBmC,SAiBhB5N,GACjB,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,MAAO,IAAI/tC,GAAGsU,GAAGo5B,IAAI,EAChB,IAAI7N,YAAoB7/B,GAAGsU,GAAGo5B,IACnC,MAAO,IAAI1tC,GAAGsU,GAAGo5B,IAAI7N,EAAS7lC,QAAUnE,KAAKmE,QAE7C,MAAM,IAAIuI,OAAM,oCANhB,MAAO1M,OAUX+3C,UA7BmC,SA6BzBC,GACR,MAAOA,GAAWh4C,KAAKmE,WAK7BgG,EAAGsU,GAAG44B,iBAAiB,SAAU,SAASG,GACxC,MAAO,IAAIrtC,GAAGsU,GAAG65B,OAAOd,EAAKrzC,SAS/BgG,EAAGsU,GAAG85B,MAAQpuC,EAAGsU,GAAGhB,SAEhB05B,YADkC,SACtBhzC,GACVnE,KAAK83C,OAAS3zC,GAGhBA,MALkC,WAMhC,MAAOnE,MAAK83C,QAOdluC,OAbkC,WAchC,OAASoV,KAAM,QAAS7a,MAAOnE,KAAKmE,UAGtCyzC,mBAjBkC,SAiBf5N,GACjB,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,MAAO,IAAI/tC,GAAGsU,GAAGo5B,IAAI73C,KAAKmE,QACrB,IAAI6lC,YAAoB7/B,GAAGsU,GAAGo5B,IACnC,MAAO,IAAI1tC,GAAGsU,GAAGo5B,IAAI7N,EAAS7lC,QAAUnE,KAAKmE,QAE7C,MAAM,IAAIuI,OAAM,oCANhB,MAAO1M,OAUX+3C,UA7BkC,SA6BxBC,GACR,MAAOA,GAAWh4C,KAAKmE,WAK7BgG,EAAGsU,GAAG44B,iBAAiB,QAAS,SAASG,GACvC,MAAO,IAAIrtC,GAAGsU,GAAG85B,MAAMf,EAAKrzC,SAS9BgG,EAAGsU,GAAG+5B,OAASruC,EAAGsU,GAAGhB,SAEjB05B,YADmC,SACvBhzC,GACVnE,KAAK83C,OAAS3zC,GAGhBA,MALmC,WAMjC,MAAOnE,MAAK83C,QAOdluC,OAbmC,WAcjC,OAASoV,KAAM,SAAU7a,MAAOnE,KAAKmE,UAGvCyzC,mBAjBmC,SAiBhB5N,GACjB,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,MAAO,IAAI/tC,GAAGsU,GAAGo5B,IAAI73C,KAAKmE,QACrB,IAAI6lC,YAAoB7/B,GAAGsU,GAAGo5B,IACnC,MAAO,IAAI1tC,GAAGsU,GAAGo5B,IAAI7N,EAAS7lC,QAAUnE,KAAKmE,QAE7C,MAAM,IAAIuI,OAAM,oCANhB,MAAO1M,OAUX+3C,UA7BmC,SA6BzBC,GACR,MAAOA,GAAWh4C,KAAKmE,WAK7BgG,EAAGsU,GAAG44B,iBAAiB,SAAU,SAASG,GACxC,MAAO,IAAIrtC,GAAGsU,GAAG+5B,OAAOhB,EAAKrzC,SAS/BgG,EAAGsU,GAAGg6B,IAAMtuC,EAAGsU,GAAGhB,SAEd05B,YAAa,SAASuB,GACpB14C,KAAK24C,SAAWD,GAOlBA,QAAS,WACP,MAAO14C,MAAK24C,UAOd/uC,OAAQ,WACN,OAASoV,KAAM,MAAO05B,QAASvuC,EAAGwT,QAAQ3d,KAAK04C,aAGjDd,mBAAoB,SAAS5N,GAC3B,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,MAAO,IAAI/tC,GAAGsU,GAAGo5B,IAAI73C,KAAK04C,UACrB,IAAI1O,YAAoB7/B,GAAGsU,GAAGo5B,IACnC,MAAO,IAAI1tC,GAAGsU,GAAGo5B,IAAI73C,KAAK+3C,UAAU/N,EAAS7lC,SACxC,IAAI6lC,YAAoB7/B,GAAGsU,GAAGg6B,IAAK,MACxC,OAAO,IAAItuC,GAAGsU,GAAGg6B,KAAI,eAAAzO,EAAS0O,WAAT,OAA0B14C,KAAK04C,YAEpD,KAAM,IAAIhsC,OAAM,oCARhB,MAAO1M,OAYX+3C,UAAW,SAASC,GAClB,MAAKA,IAGI,aAAAA,GAAQ,KAARA,EAAgBh4C,KAAK04C,WAFrBjvC,EAAE0V,MAAMnf,KAAK04C,cAQ5BvuC,EAAGsU,GAAG44B,iBAAiB,MAAO,SAASG,GACrC,MAAO,IAAIrtC,GAAGsU,GAAGg6B,IAAItuC,EAAG4U,QAAQy4B,EAAKkB,YAUvCvuC,EAAGsU,GAAGm6B,UAAYzuC,EAAGsU,GAAGhB,SAEpB05B,YAAa,SAASuB,GACpB14C,KAAK24C,SAAWlvC,EAAEiuB,KAAKghB,IAOzBA,QAAS,WACP,MAAO14C,MAAK24C,UAOd/uC,OAAQ,WACN,OAASoV,KAAM,YAAa05B,QAASvuC,EAAGwT,QAAQ3d,KAAK04C,aAGvDd,mBAAoB,SAAS5N,GAC3B,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,MAAO,IAAI/tC,GAAGsU,GAAGo5B,IAAI73C,KAAK04C,UACrB,IAAI1O,YAAoB7/B,GAAGsU,GAAGo5B,IACnC,MAAO,IAAI1tC,GAAGsU,GAAGo5B,IAAI73C,KAAK+3C,UAAU/N,EAAS7lC,SACxC,IAAI6lC,YAAoB7/B,GAAGsU,GAAGm6B,UACnC,MAAO,IAAIzuC,GAAGsU,GAAGm6B,UAAU54C,KAAK+3C,UAAU/N,EAAS0O,WAEnD,MAAM,IAAIhsC,OAAM,oCARhB,MAAO1M,OAYX+3C,UAAW,SAASC,GAClB,GAAKA,EAEE,CAIL,GAAIa,GAAWpvC,EAAE0V,MAAM64B,EAgBvB,OAfA7tC,GAAG4V,WAAW/f,KAAK04C,UAAW,SAASl0C,GACrC,GAAIA,YAAe2F,GAAGrJ,QAAU0D,EAAIma,GAAI,CACtC,GAAIm6B,IAAc,aAAArvC,GAAC,KAADA,EAAOovC,EAAU,SAASE,GAC1C,MAAOA,aAAiB5uC,GAAGrJ,QAAUi4C,EAAMp6B,KAAOna,EAAIma,IAExD,IAAKm6B,EAEE,CACL,GAAIvvC,IAAQ,aAAAE,GAAC,KAADA,EAAUovC,EAAUC,EAChCD,GAAStvC,GAAS/E,MAHlBq0C,GAAS9yC,KAAKvB,OAKNiF,GAAE4c,SAASwyB,EAAUr0C,IAC/Bq0C,EAAS9yC,KAAKvB,KAGXq0C,EArBP,MAAOpvC,GAAE0V,MAAMnf,KAAK04C,cA2B5BvuC,EAAGsU,GAAG44B,iBAAiB,YAAa,SAASG,GAC3C,MAAO,IAAIrtC,GAAGsU,GAAGm6B,UAAUzuC,EAAG4U,QAAQy4B,EAAKkB,YAS7CvuC,EAAGsU,GAAGu6B,OAAS7uC,EAAGsU,GAAGhB,SAEjB05B,YAAa,SAASuB,GACpB14C,KAAK24C,SAAWlvC,EAAEiuB,KAAKghB,IAOzBA,QAAS,WACP,MAAO14C,MAAK24C,UAOd/uC,OAAQ,WACN,OAASoV,KAAM,SAAU05B,QAASvuC,EAAGwT,QAAQ3d,KAAK04C,aAGpDd,mBAAoB,SAAS5N,GAC3B,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,MAAOlO,EACF,IAAIA,YAAoB7/B,GAAGsU,GAAGo5B,IACnC,MAAO,IAAI1tC,GAAGsU,GAAGo5B,IAAI73C,KAAK+3C,UAAU/N,EAAS7lC,SACxC,IAAI6lC,YAAoB7/B,GAAGsU,GAAGu6B,OACnC,MAAO,IAAI7uC,GAAGsU,GAAGu6B,OAAOvvC,EAAEwvC,MAAMjP,EAAS0O,UAAW14C,KAAK04C,WAEzD,MAAM,IAAIhsC,OAAM,oCARhB,MAAO1M,OAYX+3C,UAAW,SAASC,GAClB,GAAKA,EAEE,CACL,GAAIa,GAAWpvC,EAAEyvC,WAAWlB,EAAUh4C,KAAK04C,UAS3C,OAPAvuC,GAAG4V,WAAW/f,KAAK04C,UAAW,SAASl0C,GACjCA,YAAe2F,GAAGrJ,QAAU0D,EAAIma,KAClCk6B,EAAWpvC,EAAEiN,OAAOmiC,EAAU,SAASM,GACrC,MAAOA,aAAiBhvC,GAAGrJ,QAAUq4C,EAAMx6B,KAAOna,EAAIma,QAIrDk6B,EAXP,YAiBR1uC,EAAGsU,GAAG44B,iBAAiB,SAAU,SAASG,GACxC,MAAO,IAAIrtC,GAAGsU,GAAGu6B,OAAO7uC,EAAG4U,QAAQy4B,EAAKkB,YAU1CvuC,EAAGsU,GAAGD,SAAWrU,EAAGsU,GAAGhB,SAEnB05B,YAAa,SAASiC,EAAMC,GAC1Br5C,KAAKs5C,iBAAmB,IAExB,IAAIv5C,GAAOC,KAEPu5C,EAAc,SAASl4C,GACzB,GAAIA,YAAkB8I,GAAGrJ,OAAQ,CAC/B,IAAKO,EAAOsd,GACV,KAAM,IAAIjS,OACR,oDAMJ,IAHK3M,EAAKu5C,mBACRv5C,EAAKu5C,iBAAmBj4C,EAAO8M,WAE7BpO,EAAKu5C,mBAAqBj4C,EAAO8M,UACnC,KAAM,IAAIzB,OACR,yDACE3M,EAAKu5C,iBACL,QACAj4C,EAAO8M,UACP,IAGN,OAAO9M,GAAOsd,GAEhB,MAAOtd,GAGTrB,MAAKw5C,eAAiB/vC,EAAEiuB,MAAK,aAAAjuB,GAAC,KAADA,EAAM2vC,EAAMG,IACzCv5C,KAAKy5C,kBAAoBhwC,EAAEiuB,MAAK,aAAAjuB,GAAC,KAADA,EAAM4vC,EAASE,KAQjDG,MAAO,WACL,GAAI35C,GAAOC,IACX,QAAO,aAAAyJ,GAAC,KAADA,EAAMzJ,KAAKw5C,eAAgB,SAASprC,GACzC,GAAI/M,GAAS8I,EAAGrJ,OAAOoe,QAAQnf,EAAKu5C,iBAEpC,OADAj4C,GAAOsd,GAAKvQ,EACL/M,KASXs4C,QAAS,WACP,GAAI55C,GAAOC,IACX,QAAO,aAAAyJ,GAAC,KAADA,EAAMzJ,KAAKy5C,kBAAmB,SAASrrC,GAC5C,GAAI/M,GAAS8I,EAAGrJ,OAAOoe,QAAQnf,EAAKu5C,iBAEpC,OADAj4C,GAAOsd,GAAKvQ,EACL/M,KAQXuI,OAAQ,WACN,GAAIwvC,GAAO,KACPC,EAAU,KACVt5C,EAAOC,KACP45C,EAAc,SAASj7B,GACzB,OACEP,OAAQ,UACRjQ,UAAWpO,EAAKu5C,iBAChBlrC,SAAUuQ,IAGVk7B,EAAW,IAWf,OAVI75C,MAAKw5C,eAAe52C,OAAS,IAC/Bi3C,GAAW,aAAApwC,GAAC,KAADA,EAAMzJ,KAAKw5C,eAAgBI,GACtCR,GAASp6B,KAAM,cAAe05B,QAASmB,IAGrC75C,KAAKy5C,kBAAkB72C,OAAS,IAClCi3C,GAAW,aAAApwC,GAAC,KAADA,EAAMzJ,KAAKy5C,kBAAmBG,GACzCP,GAAYr6B,KAAM,iBAAkB05B,QAASmB,IAG3CT,GAAQC,GACDr6B,KAAM,QAAS04B,KAAM0B,EAAMC,IAG/BD,GAAQC,OAGjBzB,mBAAoB,SAAS5N,GAC3B,GAAKA,EAEE,IAAIA,YAAoB7/B,GAAGsU,GAAGy5B,MACnC,KAAM,IAAIxrC,OAAM,iDACX,IAAIs9B,YAAoB7/B,GAAGsU,GAAGD,SAAU,CAC7C,GACEwrB,EAASsP,kBACTtP,EAASsP,mBAAqBt5C,KAAKs5C,iBAEnC,KAAM,IAAI5sC,OACR,mCACEs9B,EAASsP,iBACT,SACAt5C,KAAKs5C,iBACL,kBAGN,IAAIQ,GAASrwC,EAAEwvC,MACbxvC,EAAEyvC,WAAWlP,EAASwP,eAAgBx5C,KAAKy5C,mBAC3Cz5C,KAAKw5C,gBAEHO,EAAYtwC,EAAEwvC,MAChBxvC,EAAEyvC,WAAWlP,EAASyP,kBAAmBz5C,KAAKw5C,gBAC9Cx5C,KAAKy5C,mBAGHO,EAAc,GAAI7vC,GAAGsU,GAAGD,SAASs7B,EAAQC,EAE7C,OADAC,GAAYV,iBAAmBt5C,KAAKs5C,iBAC7BU,EAEP,KAAM,IAAIttC,OAAM,oCA7BhB,MAAO1M,OAiCX+3C,UAAW,SAASC,EAAU32C,EAAQ6B,GACpC,GAAK80C,EAGE,IAAIA,YAAoB7tC,GAAGqU,SAAU,CAC1C,GAAIxe,KAAKs5C,iBACP,GAAItB,EAASx4B,iBACX,GAAIw4B,EAASx4B,kBAAoBxf,KAAKs5C,iBACpC,KAAM,IAAI5sC,OACR,4BACEsrC,EAASx4B,gBACT,WACAxf,KAAKs5C,iBACL,uBAINtB,GAASx4B,gBAAkBxf,KAAKs5C,gBAGpC,OAAOtB,GAEP,KAAM,IAAItrC,OAAM,oCApBD,GAAIvC,GAAGqU,SAASnd,EAAQ6B,GAC9Bsc,gBAAkBxf,KAAKs5C,oBAyBxCnvC,EAAGsU,GAAG44B,iBAAiB,cAAe,SAASG,GAC7C,MAAO,IAAIrtC,GAAGsU,GAAGD,SAASrU,EAAG4U,QAAQy4B,EAAKkB,eAE5CvuC,EAAGsU,GAAG44B,iBAAiB,iBAAkB,SAASG,GAChD,MAAO,IAAIrtC,GAAGsU,GAAGD,YAAarU,EAAG4U,QAAQy4B,EAAKkB,c1b2ob5C,SAAU94C,EAAQD,EAASM,G2b90cjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G3bq1cX,SAAUpQ,EAAQD,EAASM,G4bv1cjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAG2iB,IACb,OAAO3iB,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAe1E,KAAQ/hB,EAAS0jC,I5b+1c1G,SAAUrsC,EAAQD,EAASM,G6bt2cjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAAS5hB,M7b62cjC,SAAU1qB,EAAQD,EAASM,GAEjC,Y8bj3cA,IAAIovB,GAAI,EAAQ,GACZ4qB,EAAQ,EAAQ,KAAgC3vB,KAChD7Q,EAAmB,EAAQ,KAG3BygC,GAAc,CADP,aAIKt0C,MAAM,GAAO,KAAE,WAAcs0C,GAAc,IAI3D7qB,GAAI5rB,OAAQ,QAASK,OAAO,EAAMG,OAAQi2C,IACxC5vB,KAAM,SAAcL,GAClB,MAAOgwB,GAAMj6C,KAAMiqB,EAAYtnB,UAAUC,OAAS,EAAID,UAAU,OAAK0F,OAKzEoR,EAfW,S9bu4cL,SAAU7Z,EAAQD,EAASM,GAEjC,Y+b94cA,IAAIwJ,GAAIO,EAAQ,EAEhBpK,GAAOD,QAAU,SAASwK,GAgBxBA,EAAGqU,SAAW,SAASxO,EAAQ9M,GAC7B,IAAKuG,EAAEoT,SAAS3Z,GACd,KAAM,IAAI+F,WAAU,uBAEtBjJ,MAAKgQ,OAASA,EACdhQ,KAAKkD,IAAMA,EACXlD,KAAKwf,gBAAkB,MAUzBrV,EAAGqU,SAAS27B,aAAe,SAASC,EAAaC,EAAalqC,GAC5D,GAAItD,GAAQ,GAAI1C,GAAGmwC,MAAMF,EAEzB,OADAvtC,GAAM0tC,QAAQF,EAAalqC,EAAM8N,cAC1BpR,GAGTpD,EAAES,OACAC,EAAGqU,SAASjd,WAMVi5C,oBAAqB,SAASxqC,EAAQ9M,GAGpC,GAFAlD,KAAKgQ,OAAShQ,KAAKgQ,QAAUA,EAC7BhQ,KAAKkD,IAAMlD,KAAKkD,KAAOA,EACnBlD,KAAKgQ,SAAWA,EAClB,KAAM,IAAItD,OACR,iEAGJ,IAAI1M,KAAKkD,MAAQA,EACf,KAAM,IAAIwJ,OACR,gEASNw2B,IAAK,SAASwV,GACPjvC,EAAElD,QAAQmyC,KACbA,GAAWA,GAGb,IAAI+B,GAAS,GAAItwC,GAAGsU,GAAGD,SAASk6B,KAChC14C,MAAKgQ,OAAO+J,IAAI/Z,KAAKkD,IAAKu3C,GAC1Bz6C,KAAKwf,gBAAkBi7B,EAAOnB,kBAOhCoB,OAAQ,SAAShC,GACVjvC,EAAElD,QAAQmyC,KACbA,GAAWA,GAGb,IAAI+B,GAAS,GAAItwC,GAAGsU,GAAGD,YAAak6B,EACpC14C,MAAKgQ,OAAO+J,IAAI/Z,KAAKkD,IAAKu3C,GAC1Bz6C,KAAKwf,gBAAkBi7B,EAAOnB,kBAOhC1vC,OAAQ,WACN,OAASwU,OAAQ,WAAYjQ,UAAWnO,KAAKwf,kBAQ/C3S,MAAO,WACL,GAAI8tC,GACA9tC,CAYJ,OAXK7M,MAAKwf,iBAKRm7B,EAAcxwC,EAAGrJ,OAAO85C,aAAa56C,KAAKwf,iBAC1C3S,EAAQ,GAAI1C,GAAGmwC,MAAMK,KALrBA,EAAcxwC,EAAGrJ,OAAO85C,aAAa56C,KAAKgQ,OAAO7B,WACjDtB,EAAQ,GAAI1C,GAAGmwC,MAAMK,GACrB9tC,EAAMguC,eAAeC,wBAA0B96C,KAAKkD,KAKtD2J,EAAMkuC,cAAc,aAAc,SAAU/6C,KAAKgQ,OAAOiO,cACxDpR,EAAMkuC,cAAc,aAAc,MAAO/6C,KAAKkD,KAEvC2J,O/b85cT,SAAUjN,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,Kgc1hdpDwJ,EAAIO,EAAQ,GACZqrC,EAAMrrC,EAAQ,KACdgxC,EAAQhxC,EAAQ,KAChBixC,EAAKjxC,EAAQ,KACbI,EAAUJ,EAAQ,IACxB,EAAyCA,EAAQ,IAAzC4C,EAAR,EAAQA,QAAmBsuC,EAA3B,EAAiBjtC,SACjB,EAAuCjE,EAAQ,IAAvC4F,EAAR,EAAQA,IAAKP,EAAb,EAAaA,sBACP4M,EAAQjS,EAAQ,IAAS,kBACzBmxC,EAAcnxC,EAAQ,IAE5BpK,GAAOD,QAAU,SAASwK,GAGxB,GAAMixC,GAAU,SAAAl5C,GACd,MAAKuH,GAAEoT,SAAS3a,GACTA,EAAKkV,MACV,iEACA,GAH4B,IAM1BikC,EAAW,SAAA1uB,GACf,GAAIA,EAAS,GACX,MAAO5jB,QAAO80B,aAAa,GAAKlR,EAElC,IAAIA,EAAS,GACX,MAAO5jB,QAAO80B,aAAmBlR,EAAS,GAAf,GAE7B,IAAIA,EAAS,GACX,MAAO5jB,QAAO80B,aAAmBlR,EAAS,GAAf,GAE7B,IAAe,KAAXA,EACF,MAAO,GAET,IAAe,KAAXA,EACF,MAAO,GAET,MAAM,IAAIjgB,OAAM,+BAAiCigB,EAAS,gBAGxD2uB,EAAe,SAASlyB,GAC1B,GAAImyB,KAiBJ,OAhBAA,GAAO34C,OAAS0E,KAAKq4B,KAAKvW,EAAMxmB,OAAS,GACzC6G,EAAE6sB,MAAMilB,EAAO34C,OAAQ,SAASxC,GAC9B,GAAIo7C,GAAKpyB,EAAU,EAAJhpB,GACXq7C,EAAKryB,EAAU,EAAJhpB,EAAQ,IAAM,EACzBs7C,EAAKtyB,EAAU,EAAJhpB,EAAQ,IAAM,EAEzBu7C,EAAW,EAAJv7C,EAAQ,EAAIgpB,EAAMxmB,OACzBg5C,EAAW,EAAJx7C,EAAQ,EAAIgpB,EAAMxmB,MAE7B24C,GAAOn7C,IACLi7C,EAAUG,GAAM,EAAK,IACrBH,EAAWG,GAAM,EAAK,GAAUC,GAAM,EAAK,IAC3CE,EAAON,EAAWI,GAAM,EAAK,GAAUC,GAAM,EAAK,GAAS,IAC3DE,EAAOP,EAAc,GAALK,GAAa,KAC7BjsC,KAAK,MAEF8rC,EAAO9rC,KAAK,IAmCrBtF,GAAGuU,KAAO,SAAS/d,EAAMmM,EAAM+uC,GAS7B,GARA77C,KAAKkgB,YACHvf,OACAwM,IAAK,GACL2uC,YAEAC,OAAQ,IAGNtyC,EAAEoT,SAAS/P,GACb,KAAM,IAAI7D,WACR,0DAGAQ,GAAElD,QAAQuG,KACZ9M,KAAKkgB,WAAW47B,SAASnW,KAAO74B,EAAKlK,OACrCkK,GAASivC,OAAQT,EAAaxuC,KAGhC9M,KAAKg8C,SAAW,GAChBh8C,KAAKi8C,MAAQnvC,EACb9M,KAAKk8C,kBAEDpvC,GAAQA,EAAKqvC,MAAiC,gBAAlBrvC,GAAKqvC,KAAKC,MACxCp8C,KAAKg8C,SAAWZ,EAAQtuC,EAAKqvC,KAAKC,MAGhB,mBAATC,OAAwBvvC,YAAgBuvC,QAC7CvvC,EAAK64B,OACP3lC,KAAKkgB,WAAW47B,SAASnW,KAAO74B,EAAK64B,MAEnC74B,EAAKnM,OACPX,KAAKg8C,SAAWZ,EAAQtuC,EAAKnM,OAKjC,IAAI27C,EACJ,IAAIxvC,GAAQA,EAAKwvC,MACfA,EAAQxvC,EAAKwvC,UACR,KAAKnyC,EAAGkB,QAAQW,mBACrB,IACEswC,EAAQnyC,EAAG8B,KAAKiG,UAChB,MAAOvN,GACP,GAAI,2BAA6BA,EAAM2I,KACrC,KAAM3I,GAKZ3E,KAAKkgB,WAAW47B,SAASQ,MAAQA,EAAQA,EAAM39B,GAAK,UAEpD3e,KAAK+Z,IAAI,YAAa8hC,IAaxB1xC,EAAGuU,KAAK69B,QAAU,SAAS57C,EAAMwM,EAAK2uC,EAAUhlC,GAC9C,IAAKnW,IAASwM,EACZ,KAAM,IAAIT,OAAM,mCAElB,IAAI+S,GAAO,GAAItV,GAAGuU,KAAK/d,EAAM,KAAMmW,EAEnC,IAAIglC,EACF,IAAK,GAAIlnB,KAAQknB,GACVr8B,EAAKS,WAAW47B,SAASlnB,KAC5BnV,EAAKS,WAAW47B,SAASlnB,GAAQknB,EAASlnB,GAOhD,OAJAnV,GAAKS,WAAW/S,IAAMA,EAEtBsS,EAAKS,WAAW47B,SAASU,SAAW,WACpC/8B,EAAKS,WAAW47B,SAASnW,KAAO,EACzBlmB,GAQTtV,EAAGuU,KAAK+9B,kBAAoB,SAASruC,GACnC,IAAKA,EACH,KAAM,IAAInF,WAAU,gCAEtB,IAAIwW,GAAO,GAAItV,GAAGuU,IAElB,OADAe,GAAKd,GAAKvQ,EACHqR,GASTtV,EAAGuU,KAAKg+B,OAAS,SAAStuC,GACxB,IAAKjE,EAAGkB,QAAQC,UACd,KAAM,IAAIoB,OAAM,yCAElB,OAAOE,IACLrE,OAAQ,OACRrG,KAAM,UAAF,OAAYkM,EAAZ,WACJlD,aAAeE,cAAc,KAC5BU,KAAK,SAAA6wC,GAAG,MAAIA,GAAIC,gBAGrBnzC,EAAES,OACAC,EAAGuU,KAAKnd,WAEN4M,UAAW,QAEX6P,YAH8B,SAGlBJ,GAA0B,WAAbE,IAAa,yDAChC05B,EAAO/tC,EAAE0V,MAAMnf,KAAKkgB,WAoBxB,OAnBA/V,GAAGkW,YAAYm3B,EAAM,SAASnY,EAAKn8B,GACjCs0C,EAAKt0C,GAAOiH,EAAGwT,QAAQ0hB,EAAKzhB,MAAavV,GAAWyV,KAEtD3T,EAAGkW,YAAYrgB,KAAK68C,YAAa,SAASxd,EAAKn8B,GAC7Cs0C,EAAKt0C,GAAOm8B,IAGV51B,EAAEgJ,IAAIzS,KAAM,QACdw3C,EAAKppC,SAAWpO,KAAK2e,KAEtB,YAAa,aAAa7N,QAAQ,SAAA5N,GACjC,GAAIuG,EAAEgJ,IAAI,EAAMvP,GAAM,CACpB,GAAMm8B,GAAM,EAAKn8B,EACjBs0C,GAAKt0C,GAAOuG,EAAE0U,OAAOkhB,GAAOA,EAAIz1B,SAAWy1B,KAG3CvhB,IACF05B,EAAKp5B,OAAS,QAETo5B,GASTsF,WAjC8B,WAiCD,GAAlBl/B,GAAkB,yDAC3B,OAAO5d,MAAKge,YAAYJ,IAO1BhU,OAzC8B,SAyCvB1G,EAAK65C,GAA8B,GAAtBn/B,GAAsB,wDAAP5d,KACjC,OAAOA,MAAKge,YAAYJ,GAAa,IAOvCK,WAjD8B,WAkD5B,OACEG,OAAQ,UACRjQ,UAAWnO,KAAKmO,UAChBC,SAAUpO,KAAK2e,KAQnBq+B,OA7D8B,WA8D5B,MAAOh9C,MAAKi9C,MAOdC,OArE8B,SAqEvBC,GACL,MAAMA,aAAehzC,GAAG+T,KAGxBle,KAAKi9C,KAAOE,EACLn9C,MAHE,GAAIoK,GAAQA,EAAQuI,YAAa,0BAW5ChS,KAlF8B,WAmF5B,MAAOX,MAAKkB,IAAI,SAQlBiM,IA3F8B,WA4F5B,MAAOnN,MAAKkB,IAAI,QAQlBA,IApG8B,SAoG1Bk8C,GACF,OAAQA,GACN,IAAK,WACH,MAAOp9C,MAAK2e,EACd,KAAK,MACL,IAAK,OACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,YACH,MAAO3e,MAAKkgB,WAAWk9B,EACzB,SACE,MAAOp9C,MAAKkgB,WAAW47B,SAASsB,KAWtCrjC,IA3H8B,WA2HjB,eACLA,EAAM,SAACqjC,EAAUj5C,GACrB,OAAQi5C,GACN,IAAK,OACL,IAAK,MACL,IAAK,YACL,IAAK,SACL,IAAK,WACH,EAAKl9B,WAAWk9B,GAAYj5C,CAC5B,MACF,SAEE,EAAK+b,WAAW47B,SAASsB,GAAYj5C,IAZhC,mBAANqF,EAAM,yBAANA,EAAM,eAiBX,QAAQA,EAAK5G,QACX,IAAK,GAEH,IAAK,GAAIkc,KAAKtV,GAAK,GACjBuQ,EAAI+E,EAAGtV,EAAK,GAAGsV,GAEjB,MACF,KAAK,GACH/E,EAAIvQ,EAAK,GAAIA,EAAK,IAGtB,MAAOxJ,OAWTq9C,gBAlK8B,SAkKdn6C,EAAKiB,GAEnB,MADAnE,MAAKk8C,eAAeh5C,GAAOiB,EACpBnE,MAeT87C,SAnL8B,SAmLrBwB,EAAMn5C,GACb,MAAIm5C,IAAQn5C,GACVnE,KAAKkgB,WAAW47B,SAASwB,GAAQn5C,EAC1BnE,MACEs9C,IAASn5C,EACXnE,KAAKkgB,WAAW47B,SAASwB,GAEzBt9C,KAAKkgB,WAAW47B,UAc3ByB,aAxM8B,SAyM5BC,EACAC,GAIA,GAHAC,GAGA,uDAHU,IACVC,IAEA,yDADAC,EACA,uDADM,MAEAzwC,EAAMnN,KAAKkgB,WAAW/S,GAC5B,KAAKA,EACH,KAAM,IAAIT,OAAM,eAElB,KAAK8wC,IAAUC,GAAUD,GAAS,GAAKC,GAAU,EAC/C,KAAM,IAAI/wC,OAAM,iCAElB,IAAIgxC,GAAW,GAAKA,EAAU,IAC5B,KAAM,IAAIhxC,OAAM,yBAGlB,OACES,GACA,eAHWwwC,EAAa,EAAI,GAK5B,MACAH,EACA,MACAC,EACA,MACAC,EACA,WACAE,GAQJjY,KA7O8B,WA8O5B,MAAO3lC,MAAK87C,WAAWnW,MAOzBkY,QArP8B,WAsP5B,MAAO79C,MAAK87C,WAAWQ,OASzBvO,QA/P8B,SA+PtBlrC,GACN,MAAK7C,MAAK2e,GAGIu8B,EACZ,QACA,KACAl7C,KAAK2e,GACL,SACA,KACA9b,GARO,UAAQ6T,OAAO,GAAIhK,OAAM,iCAmBpCoxC,WApR8B,SAoRnBhnC,EAAM5L,GACf,GAAIvK,GAAOX,KAAKkgB,WAAWvf,KAEvBo9C,EAAU3C,EAAQz6C,IACjBo9C,GAAW/9C,KAAKg8C,WACnBr7C,GAAQX,KAAKg8C,SACb+B,EAAU/9C,KAAKg8C,SAEjB,IAAMlvC,IACJnM,OACAq9C,eAAgB9yC,EAAY+yC,aAC5B/6C,IAAKgI,EAAYhI,IACjBgb,IAAKle,KAAKi9C,KACViB,UAAWpnC,EACXglC,SAAU97C,KAAKkgB,WAAW47B,SAE5B,OAAOZ,GAAU,aAAc,KAAM,KAAM,OAAQpuC,EAAM5B,IAe3D8W,KAnT8B,WAmTX,WAAdnf,EAAc,yDACjB,IAAI7C,KAAK2e,GACP,KAAM,IAAIjS,OAAM,yBAElB,KAAK1M,KAAKm+C,cACR,GAAIn+C,KAAKi8C,MAAO,CACd,GAAIJ,GAAW77C,KAAKkB,IAAI,YACxBlB,MAAKm+C,cAAgBn+C,KAAK89C,WAAWjC,EAAUh5C,GAASiJ,KACtD,SAAAsyC,GAME,MALIA,GAAWF,YACbrC,EAAWuC,EAAWF,UACtB,EAAKnkC,IAAI,YAAa8hC,IAExB,EAAKwC,OAASD,EAAWE,MAClB,UAAQzyC,UACZC,KAAK,WACJ,GAAMgB,GAAO,EAAKmvC,KAClB,IAAInvC,GAAQA,EAAKivC,OACf,MAAOZ,GAAYruC,EAAKivC,OAAQF,EAElC,IAAI/uC,GAAQA,EAAKqvC,KAOf,OANKrvC,EAAKqvC,KAAKrlC,MAAQ+kC,IACrB/uC,EAAKqvC,KAAKrlC,KAAO+kC,GAEd/uC,EAAKqvC,KAAKx7C,OACbmM,EAAKqvC,KAAKx7C,KAAO,EAAKO,IAAI,SAErB4L,EAAKqvC,IAEd,IAAoB,mBAATE,OAAwBvvC,YAAgBuvC,MACjD,MAAOvvC,EAET,MAAM,IAAI7D,WAAU,yBAErB6C,KAAK,SAAAgB,GACJ,GAAMyxC,GAAW90C,EAAES,UAAWrH,EAQ9B,QANIA,EAAQkoB,aACVwzB,EAASxzB,WAAa,SAAA0H,GACpB,GAAwB,aAApBA,EAAM+rB,UACV,MAAO37C,GAAQkoB,WAAW0H,KAGtB2rB,EAAWK,UACjB,IAAK,KACH,MAAOxD,GAAGmD,EAAYtxC,EAAM,EAAMyxC,EACpC,KAAK,SACH,MAAOlJ,GAAI+I,EAAYtxC,EAAM,EAAMyxC,EACrC,KAAK,QACL,QACE,MAAOvD,GAAMoD,EAAYtxC,EAAM,EAAMyxC,MAG1CzyC,KAAK8D,EAAI,iBAAM,GAAK8uC,WAAU,KAAQ,SAAA/5C,GAErC,KADA,GAAK+5C,WAAU,GACT/5C,UAIT,IACL3E,KAAKkgB,WAAW/S,KACsB,aAAtCnN,KAAKkgB,WAAW47B,SAASU,SACzB,CAEA,GAAM1vC,IACJnM,KAAMX,KAAKkgB,WAAWvf,KACtBud,IAAKle,KAAKi9C,KACVnB,SAAU97C,KAAKkgB,WAAW47B,SAC1BoC,UAAWl+C,KAAK67C,SAChB1uC,IAAKnN,KAAKkgB,WAAW/S,IAEvBnN,MAAKm+C,cAAgBjD,EACnB,QACA,KACA,KACA,OACApuC,EACAjK,GACAiJ,KAAK,SAAA2B,GAEL,MADA,GAAKkR,GAAKlR,EAASW,SACZ,IAIb,MAAOpO,MAAKm+C,eAGdO,UA1Y8B,SA0YpBC,GACRzD,EAAU,eAAgB,KAAM,KAAM,QACpCoD,MAAOt+C,KAAKq+C,OACZhoC,OAAQsoC,IACPvxC,MAAM6O,SACFjc,MAAKq+C,aACLr+C,MAAKi8C,OAYd2C,MA5Z8B,SA4ZxBpvC,EAAc3M,GAClB,IAAK7C,KAAK2e,GACR,KAAM,IAAIjS,OAAM,4BAUlB,OARcwuC,GACZ,QACA,KACAl7C,KAAK2e,GACL,MACAtP,EAAsBG,GACtB3M,GAEaiJ,KAAK9L,KAAKof,aAAajd,KAAKnC,QAE7Cof,aA1a8B,SA0ajB3R,GACX,GAAItJ,GAAQgG,EAAGrJ,OAAOS,UAAUoM,MAAMF,EAiBtC,OAhBAtJ,GAAM+b,YACJvf,KAAMwD,EAAMxD,KACZwM,IAAKhJ,EAAMgJ,IACX+wC,UAAW/5C,EAAM+5C,UACjBW,OAAQ16C,EAAM06C,QAEhB16C,EAAM+b,WAAW47B,SAAW33C,EAAM23C,aAClC33C,EAAMwa,GAAKxa,EAAMiK,eAEVjK,GAAMiK,eACNjK,GAAM23C,eACN33C,GAAMgJ,UACNhJ,GAAMxD,WACNwD,GAAM+5C,gBACN/5C,GAAM06C,OACbp1C,EAAES,OAAOlK,KAAMmE,GACRnE,MAQT08C,OApc8B,WAqc5B,IAAK18C,KAAK2e,GACR,KAAM,IAAIjS,OAAM,gCAElB,OAAOvC,GAAGuU,KAAKg+B,OAAO18C,KAAK2e,Shckkd7B,SAAU/e,EAAQD,EAASM,GAEjC,Yic7teA,OAAuB+J,EAAQ,IAAvB8Y,EAAR,EAAQA,WACF7G,EAAQjS,EAAQ,IAAS,MAE/BpK,GAAOD,QAAU,SAASy+C,EAAYtxC,EAAM2S,GAAwB,GAAlBq/B,GAAkB,0DAC5D3xC,EACJixC,EAAWW,WAAa,SAAW9zB,mBAAmBmzB,EAAWE,OAC7DU,GACJC,MAAO,cACPnyC,OACAnM,KAAM8e,EAAKS,WAAWvf,MAElBkC,GACJiI,QAAS2U,EAAKy8B,eACdpvC,MACE2qC,GAAI,UAEN1sB,WAAY+zB,EAAY/zB,WAI1B,OAFA9O,GAAM,iCAAkC9O,EAAK6xC,EAAcn8C,GAC5CigB,EAAW,UACZ3V,EAAK6xC,EAAcn8C,GAASiJ,KACxC,SAAA2B,GAEE,GADAwO,EAAMxO,EAAS2d,OAAQ3d,EAASX,OACZ,IAAhBW,EAAS6d,GAAc,CACzB,GAAM3mB,GAAQ,GAAI+H,OAAMe,EAAS2d,OAEjC,MADAzmB,GAAM8I,SAAWA,EACX9I,EAKR,MAHA8a,GAAKS,WAAW/S,IAAMixC,EAAWjxC,IACjCsS,EAAKy/B,QAAUd,EAAWS,OAC1Bp/B,EAAKd,GAAKy/B,EAAWhwC,SACdqR,GAET,SAAA9a,GACE,GAAQ8I,GAAa9I,EAAb8I,QAMR,MALIA,KACFwO,EAAMxO,EAAS2d,OAAQ3d,EAASX,MAChCnI,EAAMoJ,WAAaN,EAAS2d,OAC5BzmB,EAAM8I,SAAWA,EAASX,MAEtBnI,Mjc0ueN,SAAU/E,EAAQD,EAASM,GAEjC,YAiCA,SAASk/C,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAoDjpC,GAAhDkpC,GAAQ,EAAIC,EAAiBzhB,SAASqhB,EAAkB,IAAIC,EAA2B,CAAE,GAAII,IAAY,EAAID,EAAiBzhB,SAAS/9B,MAAMoQ,WAAaiG,GAASqpC,EAAmBH,EAAO58C,UAAW88C,OAAqBppC,GAASkpC,EAAM39C,MAAM5B,KAAM2C,UAAc,QAAO,EAAIg9C,EAA4B5hB,SAAS/9B,KAAMqW,IAEvc,QAASipC,KAA8B,GAAuB,mBAAZp8B,WAA4Bw8B,EAAoB,OAAO,CAAO,IAAIA,EAAmBr7C,KAAM,OAAO,CAAO,IAAqB,kBAAVu7C,OAAsB,OAAO,CAAM,KAAuF,MAAjFt2B,SAAQ/nB,UAAUoI,QAAQpJ,KAAKm/C,EAAmBp2B,WAAa,gBAAyB,EAAQ,MAAO1b,GAAK,OAAO,GAElU,QAASiyC,GAA2Bh/C,EAAGi/C,GAAkB,GAAIn4C,OAAwB,KAAZsmB,GAA2B8xB,EAAmBl/C,IAAMA,EAAE,aAAe,KAAK8G,EAAI,CAAE,GAAI/B,MAAMW,QAAQ1F,KAAO8G,EAAKq4C,EAA4Bn/C,KAAOi/C,GAAkBj/C,GAAyB,gBAAbA,GAAE+B,OAAqB,CAAM+E,IAAI9G,EAAI8G,EAAI,IAAIvH,GAAI,EAAO+Y,EAAI,YAAiB,QAASzX,EAAGyX,EAAGhY,EAAG,WAAe,MAAIf,IAAKS,EAAE+B,QAAiByX,MAAM,IAAiBA,MAAM,EAAOlW,MAAOtD,EAAET,OAAWwN,EAAG,SAAWqyC,GAAM,KAAMA,IAAOj+C,EAAGmX,GAAO,KAAM,IAAIlQ,WAAU,yIAA4I,GAA6C+E,GAAzCkyC,GAAmB,EAAMC,GAAS,CAAY,QAASz+C,EAAG,WAAeiG,EAAKA,EAAGpH,KAAKM,IAAOM,EAAG,WAAe,GAAIkjB,GAAO1c,EAAGyc,MAAsC,OAA9B87B,GAAmB77B,EAAKhK,KAAagK,GAASzW,EAAG,SAAWwyC,GAAOD,GAAS,EAAMnyC,EAAMoyC,GAAQp+C,EAAG,WAAe,IAAWk+C,GAAiC,MAAbv4C,EAAG04C,QAAgB14C,EAAG04C,SAAY,QAAU,GAAIF,EAAQ,KAAMnyC,MAE79B,QAASgyC,GAA4Bn/C,EAAGy/C,GAAU,GAAIC,EAAW,IAAK1/C,EAAL,CAAgB,GAAiB,gBAANA,GAAgB,MAAO2/C,GAAkB3/C,EAAGy/C,EAAS,IAAIn/C,GAAIs/C,EAAwBF,EAAYz/C,OAAOS,UAAU0E,SAAS1F,KAAKM,IAAIN,KAAKggD,EAAW,GAAI,EAAiE,OAAnD,WAANp/C,GAAkBN,EAAEuP,cAAajP,EAAIN,EAAEuP,YAAYzP,MAAgB,QAANQ,GAAqB,QAANA,EAAoBu/C,EAAY7/C,GAAc,cAANM,GAAqB,2CAA2CgiB,KAAKhiB,GAAWq/C,EAAkB3/C,EAAGy/C,OAAzG,IAE5W,QAASE,GAAkBG,EAAKnlC,IAAkB,MAAPA,GAAeA,EAAMmlC,EAAI/9C,UAAQ4Y,EAAMmlC,EAAI/9C,OAAQ,KAAK,GAAIxC,GAAI,EAAGwgD,EAAO,GAAIh7C,OAAM4V,GAAMpb,EAAIob,EAAKpb,IAAOwgD,EAAKxgD,GAAKugD,EAAIvgD,EAAM,OAAOwgD,GkcpzehL,QAASC,GAAOzC,EAAYtxC,EAAM2S,GAAwB,GAAlBq/B,GAAkB,0DAElDgC,EAAU1C,EAAWE,MACrBnxC,EAAMixC,EAAWW,YAAc,4BAC/BC,GACJC,MAAO,OACPnyC,OACAnM,KAAM8e,EAAKS,WAAWvf,MAElBkC,GACJiI,QAAS2U,EAAKy8B,eACdpvC,MACEnM,KAAM8e,EAAKS,WAAWvf,KACtBuC,IAAKk7C,EAAWl7C,IAChBo7C,MAAOwC,GAET/1B,WAAY+zB,EAAY/zB,WAI1B,OAFA9O,GAAM,iCAAkC9O,EAAK6xC,EAAcn8C,GAC5CigB,EAAW,UACZ3V,EAAK6xC,EAAcn8C,GAASiJ,KACxC,SAAA2B,GAEE,GADAwO,EAAMxO,EAAS2d,OAAQ3d,EAASX,OACZ,IAAhBW,EAAS6d,GAAc,CACzB,GAAI/d,GAAUE,EAAS2d,MACnB3d,GAASX,OAETS,EADEE,EAASX,KAAKnI,MACN8I,EAASX,KAAKnI,OAEd,aAAe8I,EAASX,MAGtC,IAAMnI,GAAQ,GAAI+H,OAAMa,EAExB,MADA5I,GAAM8I,SAAWA,EACX9I,EAKR,MAHA8a,GAAKS,WAAW/S,IAAMixC,EAAWjxC,IACjCsS,EAAKy/B,QAAUd,EAAWS,OAC1Bp/B,EAAKd,GAAKy/B,EAAWhwC,SACdqR,GAET,SAAA9a,GACE,GAAQ8I,GAAa9I,EAAb8I,QAMR,MALIA,KACFwO,EAAMxO,EAAS2d,OAAQ3d,EAASX,MAChCnI,EAAMoJ,WAAaN,EAAS2d,OAC5BzmB,EAAM8I,SAAWA,EAASX,MAEtBnI,IAKZ,QAASo8C,GAAct7B,GACrB,GAD6B,GACvBs2B,EAASiF,EAAKvjB,SAASxS,mBAAmBxF,KAC5CpP,EAAS,GAFgB,IAGZ0lC,EAHY,KAG7B,IAAK,EAAL,qBAAyB,IAAdkF,GAAc,OACvB,QAAQA,GACN,IAAK,IACH5qC,GAAU,GACV,MACF,KAAK,IACHA,GAAU,GACV,MACF,SACEA,GAAU4qC,IAZa,8BAe7B,MAAO5qC,GAsJT,QAAS6qC,GAAOp0C,GACd,MAAuB,mBAATuvC,OAAwBvvC,YAAgBuvC,MlcmjexD,GAAIoE,GAA0BxgD,EAAoB,IAE9CygD,EAAczgD,EAAoB,KAElCguB,EAAUhuB,EAAoB,IAE9B8/C,EAAqB9/C,EAAoB,KAEzCy/C,EAAqBz/C,EAAoB,KAEzCsE,EAAyBtE,EAAoB,GAE7CkhD,EAAa58C,EAAuBtE,EAAoB,MAExD0/C,EAA8Bp7C,EAAuBtE,EAAoB,MAEzEu/C,EAAmBj7C,EAAuBtE,EAAoB,MAE9DmhD,EAAmB78C,EAAuBtE,EAAoB,MAE9DohD,EAAgB98C,EAAuBtE,EAAoB,MAE3D4b,EAAatX,EAAuBtE,EAAoB,KAExD6J,EAAUvF,EAAuBtE,EAAoB,KAErD8J,EAAWxF,EAAuBtE,EAAoB,KAEtDqvC,EAAS/qC,EAAuBtE,EAAoB,KkcnzexD,EAAuB+J,EAAQ,IAAvB8Y,EAAR,EAAQA,WACF7G,EAAQjS,EAAQ,IAAS,mBACzBM,EAAON,EAAQ,KACfg3C,EAAOh3C,EAAQ,KAIfs3C,EAAa,SAyEbC,E,WACJ,WAAYnD,EAAYtxC,EAAM2S,EAAMq/B,GAAa,qCAC/C9+C,KAAKo+C,WAAaA,EAClBp+C,KAAK8M,KAAOA,EACZ9M,KAAKyf,KAAOA,EACZzf,KAAK2lC,SAAOt9B,GACZrI,KAAK05B,OAAS,EACd15B,KAAKwhD,eAAiB,CAEtB,IAAMt+C,GAAM69C,EAAc3C,EAAWl7C,KAC/Bu+C,EAAYrD,EAAWW,YAAc,2BAC3C/+C,MAAK0hD,SAAL,yCAAkBD,EAAlB,qBAAuCrD,EAAWS,OAAlD,qBAAoE37C,EAApE,YACAlD,KAAK2hD,QAAU,WAAavD,EAAWE,MAEvCt+C,KAAK4hD,SAAW,EACZ9C,GAAeA,EAAY/zB,aAC7B/qB,KAAK6hD,WAAa,YAAgB,GAAbC,GAAa,EAAbA,QACnBA,GAAU,EAAKN,eAAiBF,IAClB,EAAKM,WAGf,EAAKjc,KACPmZ,EAAY/zB,YACV+2B,SACAC,MAAO,EAAKpc,KACZqc,QAAUF,EAAS,EAAKnc,KAAQ,MAGlCmZ,EAAY/zB,YAAa+2B,WAE3B,EAAKF,SAAWE,Klcq9etB,OA7GA,EAAIT,EAActjB,SAASwjB,IACzBr+C,IAAK,cACLiB,Mkcl2eF,WACE,MAAOmG,IACL/B,OAAQ,OACR4E,IAAKnN,KAAK0hD,QACV52C,SACEm3C,cAAejiD,KAAK2hD,WAErB71C,KAAK,SAAA6wC,GAAG,MAAIA,GAAIuF,clcu2enBh/C,IAAK,WACLiB,Mkcr2eF,WACE,KAAM,IAAIuI,OAAM,sBlc+2ehBxJ,IAAK,aACLiB,Mkcv2eF,SAAW+9C,EAAUC,EAAYr1C,GAAM,OACrC,OAAOxC,IACL/B,OAAQ,MACR4E,KAAK,EAAF,uCAAKnN,KAAK0hD,QAAV,aAAqBQ,EAArB,aAAiCC,GACpCr3C,SACEm3C,cAAejiD,KAAK2hD,SAEtB70C,OACAie,WAAY/qB,KAAK6hD,aAChB/1C,KAAK,eAAGs2C,GAAH,EAAGA,IAAH,QAAiBD,aAAYC,alck3erCl/C,IAAK,aACLiB,Mkch3eF,SAAW+9C,GAAU,KACnB,OAAO53C,IACL/B,OAAQ,SACR4E,KAAK,EAAF,uBAAKnN,KAAK0hD,QAAV,aAAqBQ,GACxBp3C,SACEm3C,cAAejiD,KAAK2hD,clcu3exBz+C,IAAK,SACLiB,Mkcn3eF,WAAS,WACDk+C,IACN,OAAOriD,MAAKsiD,cACTx2C,KAAK,SAAAo2C,GAmBJ,MAlBmB,SAAbK,KACJ,MAAO,WAAQ12C,QAAQ,EAAK22C,YACzB12C,KAAK,SAAAigC,GACJ,GAAKA,EAAL,CAGA,GAAMoW,GAAaE,EAAMz/C,OAAS,CAClC,OAAO,GAAK2/C,WAAWL,EAAUC,EAAYpW,GAAOjgC,KAAK,SAAA22C,GAGvD,MAFAJ,GAAMt8C,KAAK08C,GACX,EAAKjB,iBACEe,SAGVn1C,MAAM,SAAAzI,GAAK,MACV,GAAK+9C,WAAWR,GAAUp2C,KAAK,iBAAM,WAAQ4K,OAAO/R,UAItCmH,KAAK,uBACvBxB,IACE/B,OAAQ,OACR4E,KAAK,EAAF,uBAAK,EAAKu0C,QAAV,aAAqBQ,GACxBp3C,SACEm3C,cAAe,EAAKN,SAEtB70C,MACEu1C,QACAM,MAAO,EAAKljC,KAAKS,WAAWvf,KAC5Bk7C,SAAU,EAAKp8B,KAAKS,WAAWg+B,iBAKtCpyC,KAAK,WAIJ,MAHA,GAAK2T,KAAKS,WAAW/S,IAAM,EAAKixC,WAAWjxC,IAC3C,EAAKsS,KAAKy/B,QAAU,EAAKd,WAAWS,OACpC,EAAKp/B,KAAKd,GAAK,EAAKy/B,WAAWhwC,SACxB,EAAKqR,Wlc03eX8hC,Kkcr3eHqB,E,YACJ,WAAYxE,EAAYtxC,EAAM2S,EAAMq/B,GAAa,kCAC/C,cAAMV,EAAYtxC,EAAM2S,EAAMq/B,GAC9B,EAAKnZ,KAAO74B,EAAK64B,KAF8B,Glcw3ejD,EAAIwb,EAAWpjB,SAAS6kB,EAAcC,EAEtC,IAAIC,GAAS3D,EAAayD,EA6B1B,QAdA,EAAIvB,EAActjB,SAAS6kB,IACzB1/C,IAAK,WACLiB,Mkcn4eF,WAAW,KACT,IAAInE,KAAK05B,QAAU15B,KAAK2lC,KACtB,MAAO,KAET,IAAMoG,IAAQ,eAAA/rC,KAAK8M,MAAL,OAAgB9M,KAAK05B,OAAQ15B,KAAK05B,OAAS4nB,EAEzD,OADAthD,MAAK05B,QAAUqS,EAAMpG,KACdoG,Mlcy4eF6W,Gkcx5ekBrB,EA2B3B3hD,GAAOD,QAAU,SAASy+C,EAAYtxC,EAAM2S,GAAwB,GAAlBq/B,GAAkB,yDAClE,OAAIoC,GAAOp0C,IAASA,EAAK64B,MArOH,SAsOb,GAAIid,GAAaxE,EAAYtxC,EAAM2S,EAAMq/B,GAAa+B,SAExDA,EAAOzC,EAAYtxC,EAAM2S,EAAMq/B,Klc44elC,SAAUl/C,EAAQD,EAASM,GmcznfjC,EAAQ,IACR,EAAQ,IACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAK0D,MAAM+tB,MncgoftB,SAAU/zB,EAAQD,EAASM,GocpofjC,GAAIovB,GAAI,EAAQ,GACZsE,EAAO,EAAQ,IAUnBtE,IAAI5rB,OAAQ,QAASG,MAAM,EAAMK,QATC,EAAQ,KAEa,SAAUggB,GAE/Dre,MAAM+tB,KAAK1P,OAMX0P,KAAMA,Kpc4ofF,SAAU/zB,EAAQD,EAASM,GAEjC,YqczpfA,IAAIkC,GAAO,EAAQ,IACf5B,EAAO,EAAQ,IACfyH,EAAW,EAAQ,IACnB+6C,EAA+B,EAAQ,KACvCt/B,EAAwB,EAAQ,KAChC6N,EAAgB,EAAQ,IACxB5N,EAAoB,EAAQ,IAC5BwU,EAAiB,EAAQ,KACzBvU,EAAc,EAAQ,KACtBC,EAAoB,EAAQ,IAE5B2Y,EAAS32B,KAIbhG,GAAOD,QAAU,SAAcqjD,GAC7B,GAAIjxC,GAAI/J,EAASg7C,GACbC,EAAiB3xB,EAActxB,MAC/BkjD,EAAkBvgD,UAAUC,OAC5BugD,EAAQD,EAAkB,EAAIvgD,UAAU,OAAK0F,GAC7C+6C,MAAoB/6C,KAAV86C,CACVC,KAASD,EAAQhhD,EAAKghD,EAAOD,EAAkB,EAAIvgD,UAAU,OAAK0F,IACtE,IAEIzF,GAAQyT,EAAQgO,EAAM1D,EAAUyD,EAAMjgB,EAFtC+qB,EAAiBtL,EAAkB7R,GACnCxI,EAAQ,CAGZ,KAAI2lB,GAAoBlvB,OAASu8B,GAAU9Y,EAAsByL,GAW/D,IAFAtsB,EAAS8gB,EAAkB3R,GAC3BsE,EAAS4sC,EAAiB,GAAIjjD,MAAK4C,GAAU25B,EAAO35B,GAC9CA,EAAS2G,EAAOA,IACpBpF,EAAQi/C,EAAUD,EAAMpxC,EAAExI,GAAQA,GAASwI,EAAExI,GAC7C2uB,EAAe7hB,EAAQ9M,EAAOpF,OAThC,KAHAwc,EAAWgD,EAAY5R,EAAGmd,GAC1B9K,EAAOzD,EAASyD,KAChB/N,EAAS4sC,EAAiB,GAAIjjD,WACtBqkB,EAAO9jB,EAAK6jB,EAAMzD,IAAWtG,KAAM9Q,IACzCpF,EAAQi/C,EAAUL,EAA6BpiC,EAAUwiC,GAAQ9+B,EAAKlgB,MAAOoF,IAAQ,GAAQ8a,EAAKlgB,MAClG+zB,EAAe7hB,EAAQ9M,EAAOpF,EAWlC,OADAkS,GAAOzT,OAAS2G,EACT8M,IrciqfH,SAAUzW,EAAQD,EAASM,Gsc7sfjC,GAAI0R,GAAW,EAAQ,IACnBkS,EAAgB,EAAQ,IAG5BjkB,GAAOD,QAAU,SAAUghB,EAAU5b,EAAIZ,EAAOk/C,GAC9C,IACE,MAAOA,GAAUt+C,EAAG4M,EAASxN,GAAO,GAAIA,EAAM,IAAMY,EAAGZ,GACvD,MAAOQ,GACPkf,EAAclD,EAAU,QAAShc,Mtcstf/B,SAAU/E,EAAQD,EAASM,Guc9tfjCL,EAAOD,QAAU,EAAQ,MvcqufnB,SAAUC,EAAQD,EAASM,GwcrufjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Gxc4ufX,SAAUpQ,EAAQD,EAASM,Gyc9ufjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GzcqvfX,SAAUpQ,EAAQD,EAASM,G0cvvfjC,GAAI+P,GAAS,EAAQ,IACrB,GAAQ,IAERpQ,EAAOD,QAAUqQ,G1c8vfX,SAAUpQ,EAAQD,EAASM,G2cjwfjC,EAAQ,IACR,EAAQ,GACR,IAAI2jB,GAAoB,EAAQ,GAEhChkB,GAAOD,QAAUikB,G3cwwfX,SAAUhkB,EAAQD,EAASM,G4c5wfjCL,EAAOD,QAAU,EAAQ,M5ckxfnB,SAAUC,EAAQD,EAASM,G6clxfjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G7cyxfX,SAAUpQ,EAAQD,EAASM,G8c3xfjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAKghB,QAAQgF,W9ckyfxB,SAAUtoB,EAAQD,EAASM,G+cryfjC,GAAIovB,GAAI,EAAQ,GACZvZ,EAAa,EAAQ,IACrBlU,EAAQ,EAAQ,IAChBO,EAAO,EAAQ,KACfgvB,EAAe,EAAQ,KACvBxf,EAAW,EAAQ,IACnB9I,EAAW,EAAQ,IACnBlC,EAAS,EAAQ,IACjBiC,EAAQ,EAAQ,GAEhB06C,EAAkBxtC,EAAW,UAAW,aACxC+Q,EAAkB/lB,OAAOS,UACzBwE,KAAUA,KAMVw9C,EAAiB36C,EAAM,WACzB,QAASuQ,MACT,QAASmqC,EAAgB,gBAAiCnqC,YAAcA,MAGtEqqC,GAAY56C,EAAM,WACpB06C,EAAgB,gBAGdvgD,EAASwgD,GAAkBC,CAE/Bn0B,IAAI5rB,OAAQ,UAAWG,MAAM,EAAMK,OAAQlB,EAAQsB,KAAMtB,IACvDmlB,UAAW,SAAmBu7B,EAAQj6C,GACpC2nB,EAAasyB,GACb9xC,EAASnI,EACT,IAAIk6C,GAAY/gD,UAAUC,OAAS,EAAI6gD,EAAStyB,EAAaxuB,UAAU,GACvE,IAAI6gD,IAAaD,EAAgB,MAAOD,GAAgBG,EAAQj6C,EAAMk6C,EACtE,IAAID,GAAUC,EAAW,CAEvB,OAAQl6C,EAAK5G,QACX,IAAK,GAAG,MAAO,IAAI6gD,EACnB,KAAK,GAAG,MAAO,IAAIA,GAAOj6C,EAAK,GAC/B,KAAK,GAAG,MAAO,IAAIi6C,GAAOj6C,EAAK,GAAIA,EAAK,GACxC,KAAK,GAAG,MAAO,IAAIi6C,GAAOj6C,EAAK,GAAIA,EAAK,GAAIA,EAAK,GACjD,KAAK,GAAG,MAAO,IAAIi6C,GAAOj6C,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAG5D,GAAIm6C,IAAS,KAEb,OADA/hD,GAAMmE,EAAM49C,EAAOn6C,GACZ,IAAK5H,EAAMO,EAAMshD,EAAQE,IAGlC,GAAI7/C,GAAQ4/C,EAAUniD,UAClBu2B,EAAWnxB,EAAOkC,EAAS/E,GAASA,EAAQ+iB,GAC5CxQ,EAASzU,EAAM6hD,EAAQ3rB,EAAUtuB,EACrC,OAAOX,GAASwN,GAAUA,EAASyhB,M/c8yfjC,SAAUl4B,EAAQD,EAASM,Ggd71fjC,QAAS2jD,GAAUC,EAAUC,GAC3B,GAA0B,kBAAfA,IAA4C,OAAfA,EACtC,KAAM,IAAI76C,WAAU,qDAGtB46C,GAAStiD,UAAYwiD,EAAeD,GAAcA,EAAWviD,WAC3D6O,aACEjM,MAAO0/C,EACP1xC,UAAU,EACVnR,cAAc,KAIlBgjD,EAAuBH,EAAU,aAC/B1xC,UAAU,IAGR2xC,GAAY98B,EAAe68B,EAAUC,GAvB3C,GAAIC,GAAiB,EAAQ,KAEzBC,EAAyB,EAAQ,KAEjCh9B,EAAiB,EAAQ,IAsB7BpnB,GAAOD,QAAUikD,EAAWhkD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,Shdy2f3F,SAAUC,EAAQD,EAASM,Gidn4fjCL,EAAOD,QAAU,EAAQ,Mjdy4fnB,SAAUC,EAAQD,EAASM,Gkdz4fjCL,EAAOD,QAAU,EAAQ,Mldg5fnB,SAAUC,EAAQD,EAASM,Gmdh5fjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Gndu5fX,SAAUpQ,EAAQD,EAASM,Godz5fjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Gpdg6fX,SAAUpQ,EAAQD,EAASM,Gqdl6fjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Grdy6fX,SAAUpQ,EAAQD,EAASM,Gsd36fjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,IAEfpB,EAASoB,EAAKpB,MAElBlB,GAAOD,QAAU,SAAgBqS,EAAGiyC,GAClC,MAAOnjD,GAAO6F,OAAOqL,EAAGiyC,Ktdm7fpB,SAAUrkD,EAAQD,EAASM,Gudx7fzB,EAAQ,IAMZwD,OAAQ,SAAUG,MAAM,EAAMS,MALhB,EAAQ,MAMxBsC,OALW,EAAQ,Ovds8ff,SAAU/G,EAAQD,EAASM,Gwdz8fjCL,EAAOD,QAAU,EAAQ,Mxdg9fnB,SAAUC,EAAQD,EAASM,Gydh9fjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Gzdu9fX,SAAUpQ,EAAQD,EAASM,G0dz9fjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G1dg+fX,SAAUpQ,EAAQD,EAASM,G2d99fjC,QAASyS,GAAgB7R,EAAGY,GAC1B,GAAIyiD,EAMJ,OAJAtkD,GAAOD,QAAU+S,EAAkByxC,EAAyBC,EAAsBF,EAAWC,GAAwB5jD,KAAK2jD,GAAY,SAAyBrjD,EAAGY,GAEhK,MADAZ,GAAEsmB,UAAY1lB,EACPZ,GACNjB,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,QACjE+S,EAAgB7R,EAAGY,GAX5B,GAAI0iD,GAAyB,EAAQ,KAEjCC,EAAwB,EAAQ,IAYpCxkD,GAAOD,QAAU+S,EAAiB9S,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,S3dw+fjG,SAAUC,EAAQD,EAASM,G4dt/fjCL,EAAOD,QAAU,EAAQ,M5d6/fnB,SAAUC,EAAQD,EAASM,G6d7/fjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G7doggBX,SAAUpQ,EAAQD,EAASM,G8dtggBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G9d6ggBX,SAAUpQ,EAAQD,EAASM,G+d/ggBjCL,EAAOD,QAAU,EAAQ,M/dshgBnB,SAAUC,EAAQD,EAASM,GgethgBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Ghe6hgBX,SAAUpQ,EAAQD,EAASM,Gie/hgBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GjesigBX,SAAUpQ,EAAQD,EAASM,GkexigBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,Gle+igBX,SAAUpQ,EAAQD,EAASM,GmejjgBjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjB1D,EAAoBC,SAASvD,SAEjC3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAGxF,IACb,OAAOwF,KAAO9C,GAAsBkD,EAAclD,EAAmB8C,IAAOskC,IAAQpnC,EAAkB1C,KAAQoG,EAAS0jC,IneyjgBnH,SAAUrsC,EAAQD,EAASM,GoehkgBjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,YAAY/pC,MpeukgBpC,SAAUvC,EAAQD,EAASM,GqezkgBjC,GAAIovB,GAAI,EAAQ,GACZltB,EAAO,EAAQ,IAInBktB,IAAI5rB,OAAQ,WAAYK,OAAO,EAAMG,OAAQa,SAAS3C,OAASA,IAC7DA,KAAMA,KreklgBF,SAAUvC,EAAQD,EAASM,GserlgBjC,QAASokD,GAA2BtkD,EAAMQ,GACxC,GAAIA,IAA2B,WAAlBmgB,EAAQngB,IAAsC,kBAATA,IAChD,MAAOA,EACF,QAAa,KAATA,EACT,KAAM,IAAI0I,WAAU,2DAGtB,OAAOq7C,GAAsBvkD,GAX/B,GAAI2gB,GAAU,EAAQ,KAAwB,QAE1C4jC,EAAwB,EAAQ,IAYpC1kD,GAAOD,QAAU0kD,EAA4BzkD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,Ste+lgB5G,SAAUC,EAAQD,Gue7mgBxB,QAAS4kD,GAAuBxkD,GAC9B,OAAa,KAATA,EACF,KAAM,IAAIykD,gBAAe,4DAG3B,OAAOzkD,GAGTH,EAAOD,QAAU4kD,EAAwB3kD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,SvemngBxG,SAAUC,EAAQD,EAASM,GwerngBjC,QAAS8O,GAAgBlO,GACvB,GAAIqjD,EAKJ,OAHAtkD,GAAOD,QAAUoP,EAAkBo1C,EAAyBC,EAAsBF,EAAWO,GAAwBlkD,KAAK2jD,GAAY,SAAyBrjD,GAC7J,MAAOA,GAAEsmB,WAAas9B,EAAuB5jD,IAC5CjB,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,QACjEoP,EAAgBlO,GAZzB,GAAIsjD,GAAyB,EAAQ,KAEjCC,EAAwB,EAAQ,KAEhCK,EAAyB,EAAQ,IAWrC7kD,GAAOD,QAAUoP,EAAiBnP,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,SxeiogBjG,SAAUC,EAAQD,EAASM,GyehpgBjCL,EAAOD,QAAU,EAAQ,MzespgBnB,SAAUC,EAAQD,EAASM,G0etpgBjCL,EAAOD,QAAU,EAAQ,M1e6pgBnB,SAAUC,EAAQD,EAASM,G2e7pgBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G3eoqgBX,SAAUpQ,EAAQD,EAASM,G4etqgBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G5e6qgBX,SAAUpQ,EAAQD,G6e/qgBxB,QAAS+kD,GAAgB5sB,EAAUwL,GACjC,KAAMxL,YAAoBwL,IACxB,KAAM,IAAIr6B,WAAU,qCAIxBrJ,EAAOD,QAAU+kD,EAAiB9kD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,S7eqrgBjG,SAAUC,EAAQD,EAASM,G8ezrgBjC,QAAS0kD,GAAkBlhD,EAAQsrB,GACjC,IAAK,GAAI3uB,GAAI,EAAGA,EAAI2uB,EAAMnsB,OAAQxC,IAAK,CACrC,GAAImD,GAAawrB,EAAM3uB,EACvBmD,GAAWtC,WAAasC,EAAWtC,aAAc,EACjDsC,EAAWvC,cAAe,EACtB,SAAWuC,KAAYA,EAAW4O,UAAW,GAEjD6xC,EAAuBvgD,EAAQF,EAAWL,IAAKK,IAInD,QAASqhD,GAAathB,EAAarzB,EAAYC,GAQ7C,MAPID,IAAY00C,EAAkBrhB,EAAY/hC,UAAW0O,GACrDC,GAAay0C,EAAkBrhB,EAAapzB,GAEhD8zC,EAAuB1gB,EAAa,aAClCnxB,UAAU,IAGLmxB,EArBT,GAAI0gB,GAAyB,EAAQ,IAwBrCpkD,GAAOD,QAAUilD,EAAchlD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,S9eisgB9F,SAAUC,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7CqvC,EAAS/qC,EAAuBtE,EAAoB,K+e/tgBlD4kD,EAAM,mEAEZjlD,GAAOD,QAAU,SAAA8lB,GAGf,IAAK,GAFDpP,GAAS,GAEJjW,EAAI,EAAGA,EAAIqlB,EAAO7iB,QAAU,CACnC,GAAMH,GAAIgjB,EAAOuT,WAAW54B,KACtBsC,EAAI+iB,EAAOuT,WAAW54B,KACtBK,EAAIglB,EAAOuT,WAAW54B,IAC5B,IAAIqC,EAAI,KAAOC,EAAI,KAAOjC,EAAI,IAC5B,KAAM,IAAIwI,WACR,qGAIJ,IAAM4M,GAAUpT,GAAK,GAAOC,GAAK,EAAKjC,CACtC4V,IACEwuC,EAAIl4C,OAAQkJ,GAAU,GAAM,IAC5BgvC,EAAIl4C,OAAQkJ,GAAU,GAAM,IAC5BgvC,EAAIl4C,OAAQkJ,GAAU,EAAK,IAC3BgvC,EAAIl4C,OAAgB,GAATkJ,GAIf,GAAMvM,GAAOmc,EAAO7iB,OAAS,CAE7B,OAAO0G,IAAO,aAAA+M,GAAM,KAANA,EAAa,EAAG/M,EAAO,GAAK,MAAMwT,UAAUxT,GAAQ+M,I/ekugB9D,SAAUzW,EAAQD,EAASM,GAEjC,Ygf/vgBA,IAAMwJ,GAAIO,EAAQ,GACZM,EAAON,EAAQ,IAErBpK,GAAOD,QAAU,SAAgBy+C,EAAYtxC,EAAM2S,GAAwB,GAAlBq/B,GAAkB,yDAEzE,OAAOx0C,IACL6C,IAAKixC,EAAWW,WAChBx2C,OAAQ,MACRuE,OACAhC,QAASrB,EAAES,QAEP,eAAgBuV,EAAKve,IAAI,aACzB,gBAAiB,4BAEnBue,EAAKy8B,gBAEPnxB,WAAY+zB,EAAY/zB,aACvBjf,KAAK,WAIN,MAHA2T,GAAKS,WAAW/S,IAAMixC,EAAWjxC,IACjCsS,EAAKy/B,QAAUd,EAAWS,OAC1Bp/B,EAAKd,GAAKy/B,EAAWhwC,SACdqR,MhfswgBL,SAAU7f,EAAQD,EAASM,Iif3xgBjC,WACE,GAAI6kD,GAAQ,EAAQ,KAChBznB,EAAO,EAAQ,KAAWA,KAC1B0nB,EAAW,EAAQ,KACnBvnB,EAAM,EAAQ,KAAWA,IAG7BvzB,EAAM,SAAUsD,EAAS1K,GAEnB0K,EAAQ6C,aAAerH,OAEvBwE,EADE1K,GAAgC,WAArBA,EAAQmiD,SACXxnB,EAAIF,cAAc/vB,GAElB8vB,EAAKC,cAAc/vB,GACxBw3C,EAASx3C,GAChBA,EAAU3H,MAAMrE,UAAUyE,MAAMzF,KAAKgN,EAAS,GACtC3H,MAAMW,QAAQgH,KACtBA,EAAUA,EAAQtH,WAWpB,KAAK,GARDzF,GAAIskD,EAAMG,aAAa13C,GACvBlN,EAAqB,EAAjBkN,EAAQ3K,OACZH,EAAK,WACLC,GAAK,UACLjC,GAAK,WACLC,EAAK,UAGAN,EAAI,EAAGA,EAAII,EAAEoC,OAAQxC,IAC5BI,EAAEJ,GAAsC,UAA/BI,EAAEJ,IAAO,EAAMI,EAAEJ,KAAO,IACO,YAA/BI,EAAEJ,IAAM,GAAOI,EAAEJ,KAAQ,EAIpCI,GAAEH,IAAM,IAAM,KAASA,EAAI,GAC3BG,EAA4B,IAAvBH,EAAI,KAAQ,GAAM,IAAWA,CAQlC,KAAK,GALD6kD,GAAKj7C,EAAIk7C,IACTC,EAAKn7C,EAAIo7C,IACTC,EAAKr7C,EAAIs7C,IACTC,EAAKv7C,EAAIw7C,IAEJrlD,EAAI,EAAGA,EAAII,EAAEoC,OAAQxC,GAAK,GAAI,CAErC,GAAIslD,GAAKjjD,EACLkjD,EAAKjjD,EACLkjD,EAAKnlD,EACLolD,EAAKnlD,CAET+B,GAAIyiD,EAAGziD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,WACjCM,EAAIwkD,EAAGxkD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,IAAK,WACjCK,EAAIykD,EAAGzkD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,GAAK,WACjCsC,EAAIwiD,EAAGxiD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,YACjCqC,EAAIyiD,EAAGziD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,WACjCM,EAAIwkD,EAAGxkD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,GAAK,YACjCK,EAAIykD,EAAGzkD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,IAAK,YACjCsC,EAAIwiD,EAAGxiD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,UACjCqC,EAAIyiD,EAAGziD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,EAAI,YACjCM,EAAIwkD,EAAGxkD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,IAAK,YACjCK,EAAIykD,EAAGzkD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,IAAK,OACjCsC,EAAIwiD,EAAGxiD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAE,IAAK,IAAK,YACjCqC,EAAIyiD,EAAGziD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAE,IAAM,EAAI,YACjCM,EAAIwkD,EAAGxkD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAE,IAAK,IAAK,UACjCK,EAAIykD,EAAGzkD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,IAAK,YACjCsC,EAAIwiD,EAAGxiD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAE,IAAK,GAAK,YAEjCqC,EAAI2iD,EAAG3iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,WACjCM,EAAI0kD,EAAG1kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAK,GAAI,YACjCK,EAAI2kD,EAAG3kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,GAAK,WACjCsC,EAAI0iD,EAAG1iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,WACjCqC,EAAI2iD,EAAG3iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,WACjCM,EAAI0kD,EAAG1kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAE,IAAM,EAAI,UACjCK,EAAI2kD,EAAG3kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,IAAK,WACjCsC,EAAI0iD,EAAG1iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,WACjCqC,EAAI2iD,EAAG3iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,EAAI,WACjCM,EAAI0kD,EAAG1kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAE,IAAM,GAAI,YACjCK,EAAI2kD,EAAG3kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,IAAK,WACjCsC,EAAI0iD,EAAG1iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,GAAK,YACjCqC,EAAI2iD,EAAG3iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAE,IAAM,GAAI,YACjCM,EAAI0kD,EAAG1kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAK,GAAI,UACjCK,EAAI2kD,EAAG3kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,GAAK,YACjCsC,EAAI0iD,EAAG1iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAE,IAAK,IAAK,YAEjCqC,EAAI6iD,EAAG7iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,QACjCM,EAAI4kD,EAAG5kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,IAAK,YACjCK,EAAI6kD,EAAG7kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,GAAK,YACjCsC,EAAI4iD,EAAG5iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAE,IAAK,IAAK,UACjCqC,EAAI6iD,EAAG7iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,YACjCM,EAAI4kD,EAAG5kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,GAAK,YACjCK,EAAI6kD,EAAG7kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,IAAK,WACjCsC,EAAI4iD,EAAG5iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAE,IAAK,IAAK,YACjCqC,EAAI6iD,EAAG7iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAE,IAAM,EAAI,WACjCM,EAAI4kD,EAAG5kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,IAAK,WACjCK,EAAI6kD,EAAG7kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,IAAK,WACjCsC,EAAI4iD,EAAG5iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,GAAK,UACjCqC,EAAI6iD,EAAG7iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,WACjCM,EAAI4kD,EAAG5kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAE,IAAK,IAAK,WACjCK,EAAI6kD,EAAG7kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,GAAK,WACjCsC,EAAI4iD,EAAG5iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,WAEjCqC,EAAI+iD,EAAG/iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,WACjCM,EAAI8kD,EAAG9kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,GAAK,YACjCK,EAAI+kD,EAAG/kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,IAAK,YACjCsC,EAAI8iD,EAAG9iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,UACjCqC,EAAI+iD,EAAG/iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAE,IAAM,EAAI,YACjCM,EAAI8kD,EAAG9kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAG,GAAI,IAAK,YACjCK,EAAI+kD,EAAG/kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAE,IAAK,IAAK,SACjCsC,EAAI8iD,EAAG9iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,YACjCqC,EAAI+iD,EAAG/iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,EAAI,YACjCM,EAAI8kD,EAAG9kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAE,IAAK,IAAK,UACjCK,EAAI+kD,EAAG/kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,IAAK,YACjCsC,EAAI8iD,EAAG9iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAE,IAAK,GAAK,YACjCqC,EAAI+iD,EAAG/iD,EAAGC,EAAGjC,EAAGC,EAAGF,EAAEJ,EAAG,GAAK,GAAI,WACjCM,EAAI8kD,EAAG9kD,EAAG+B,EAAGC,EAAGjC,EAAGD,EAAEJ,EAAE,IAAK,IAAK,YACjCK,EAAI+kD,EAAG/kD,EAAGC,EAAG+B,EAAGC,EAAGlC,EAAEJ,EAAG,GAAI,GAAK,WACjCsC,EAAI8iD,EAAG9iD,EAAGjC,EAAGC,EAAG+B,EAAGjC,EAAEJ,EAAG,GAAI,IAAK,WAEjCqC,EAAKA,EAAIijD,IAAQ,EACjBhjD,EAAKA,EAAIijD,IAAQ,EACjBllD,EAAKA,EAAImlD,IAAQ,EACjBllD,EAAKA,EAAImlD,IAAQ,EAGnB,MAAOf,GAAMgB,QAAQrjD,EAAGC,EAAGjC,EAAGC,IAIhCuJ,GAAIk7C,IAAO,SAAU1iD,EAAGC,EAAGjC,EAAGC,EAAGuO,EAAGvN,EAAGqkD,GACrC,GAAI5kD,GAAIsB,GAAKC,EAAIjC,GAAKiC,EAAIhC,IAAMuO,IAAM,GAAK82C,CAC3C,QAAS5kD,GAAKO,EAAMP,IAAO,GAAKO,GAAOgB,GAEzCuH,EAAIo7C,IAAO,SAAU5iD,EAAGC,EAAGjC,EAAGC,EAAGuO,EAAGvN,EAAGqkD,GACrC,GAAI5kD,GAAIsB,GAAKC,EAAIhC,EAAID,GAAKC,IAAMuO,IAAM,GAAK82C,CAC3C,QAAS5kD,GAAKO,EAAMP,IAAO,GAAKO,GAAOgB,GAEzCuH,EAAIs7C,IAAO,SAAU9iD,EAAGC,EAAGjC,EAAGC,EAAGuO,EAAGvN,EAAGqkD,GACrC,GAAI5kD,GAAIsB,GAAKC,EAAIjC,EAAIC,IAAMuO,IAAM,GAAK82C,CACtC,QAAS5kD,GAAKO,EAAMP,IAAO,GAAKO,GAAOgB,GAEzCuH,EAAIw7C,IAAO,SAAUhjD,EAAGC,EAAGjC,EAAGC,EAAGuO,EAAGvN,EAAGqkD,GACrC,GAAI5kD,GAAIsB,GAAKhC,GAAKiC,GAAKhC,KAAOuO,IAAM,GAAK82C,CACzC,QAAS5kD,GAAKO,EAAMP,IAAO,GAAKO,GAAOgB,GAIzCuH,EAAI+7C,WAAa,GACjB/7C,EAAIg8C,YAAc,GAElBrmD,EAAOD,QAAU,SAAU4N,EAAS1K,GAClC,OAAgBwF,KAAZkF,GAAqC,OAAZA,EAC3B,KAAM,IAAIb,OAAM,oBAAsBa,EAExC,IAAI24C,GAAcpB,EAAMqB,aAAal8C,EAAIsD,EAAS1K,GAClD,OAAOA,IAAWA,EAAQujD,QAAUF,EAChCrjD,GAAWA,EAAQwjD,SAAW7oB,EAAIE,cAAcwoB,GAChDpB,EAAMwB,WAAWJ,QjfqygBnB,SAAUtmD,EAAQD,Ikfj8gBxB,WACE,GAAI4mD,GACE,mEAENzB,GAEE0B,KAAM,SAASrlD,EAAGuB,GAChB,MAAQvB,IAAKuB,EAAMvB,IAAO,GAAKuB,GAIjC+jD,KAAM,SAAStlD,EAAGuB,GAChB,MAAQvB,IAAM,GAAKuB,EAAOvB,IAAMuB,GAIlCojD,OAAQ,SAAS3kD,GAEf,GAAIA,EAAEiP,aAAeo9B,OACnB,MAA0B,UAAnBsX,EAAM0B,KAAKrlD,EAAG,GAAsC,WAApB2jD,EAAM0B,KAAKrlD,EAAG,GAIvD,KAAK,GAAIf,GAAI,EAAGA,EAAIe,EAAEyB,OAAQxC,IAC5Be,EAAEf,GAAK0kD,EAAMgB,OAAO3kD,EAAEf,GACxB,OAAOe,IAITulD,YAAa,SAASvlD,GACpB,IAAK,GAAIw8B,MAAYx8B,EAAI,EAAGA,IAC1Bw8B,EAAM53B,KAAKuB,KAAKguB,MAAsB,IAAhBhuB,KAAKukB,UAC7B,OAAO8R,IAITsnB,aAAc,SAAStnB,GACrB,IAAK,GAAIgpB,MAAYvmD,EAAI,EAAGsC,EAAI,EAAGtC,EAAIu9B,EAAM/6B,OAAQxC,IAAKsC,GAAK,EAC7DikD,EAAMjkD,IAAM,IAAMi7B,EAAMv9B,IAAO,GAAKsC,EAAI,EAC1C,OAAOikD,IAITR,aAAc,SAASQ,GACrB,IAAK,GAAIhpB,MAAYj7B,EAAI,EAAGA,EAAmB,GAAfikD,EAAM/jD,OAAaF,GAAK,EACtDi7B,EAAM53B,KAAM4gD,EAAMjkD,IAAM,KAAQ,GAAKA,EAAI,GAAO,IAClD,OAAOi7B,IAIT2oB,WAAY,SAAS3oB,GACnB,IAAK,GAAIipB,MAAUxmD,EAAI,EAAGA,EAAIu9B,EAAM/6B,OAAQxC,IAC1CwmD,EAAI7gD,MAAM43B,EAAMv9B,KAAO,GAAG6F,SAAS,KACnC2gD,EAAI7gD,MAAiB,GAAX43B,EAAMv9B,IAAU6F,SAAS,IAErC,OAAO2gD,GAAIn3C,KAAK,KAIlBo3C,WAAY,SAASD,GACnB,IAAK,GAAIjpB,MAAYl9B,EAAI,EAAGA,EAAImmD,EAAIhkD,OAAQnC,GAAK,EAC/Ck9B,EAAM53B,KAAKqb,SAASwlC,EAAI5Z,OAAOvsC,EAAG,GAAI,IACxC,OAAOk9B,IAITmpB,cAAe,SAASnpB,GACtB,IAAK,GAAIoe,MAAa37C,EAAI,EAAGA,EAAIu9B,EAAM/6B,OAAQxC,GAAK,EAElD,IAAK,GADD2mD,GAAWppB,EAAMv9B,IAAM,GAAOu9B,EAAMv9B,EAAI,IAAM,EAAKu9B,EAAMv9B,EAAI,GACxDmb,EAAI,EAAGA,EAAI,EAAGA,IACb,EAAJnb,EAAY,EAAJmb,GAAwB,EAAfoiB,EAAM/6B,OACzBm5C,EAAOh2C,KAAKwgD,EAAU55C,OAAQo6C,IAAY,GAAK,EAAIxrC,GAAM,KAEzDwgC,EAAOh2C,KAAK,IAElB,OAAOg2C,GAAOtsC,KAAK,KAIrBu3C,cAAe,SAASjL,GAEtBA,EAASA,EAAOl6B,QAAQ,iBAAkB,GAE1C,KAAK,GAAI8b,MAAYv9B,EAAI,EAAG6mD,EAAQ,EAAG7mD,EAAI27C,EAAOn5C,OAC9CqkD,IAAU7mD,EAAI,EACH,GAAT6mD,GACJtpB,EAAM53B,MAAOwgD,EAAUj6B,QAAQyvB,EAAOpvC,OAAOvM,EAAI,IAC1CkH,KAAKC,IAAI,GAAI,EAAI0/C,EAAQ,GAAK,IAAgB,EAARA,EACtCV,EAAUj6B,QAAQyvB,EAAOpvC,OAAOvM,MAAS,EAAY,EAAR6mD,EAEtD,OAAOtpB,IAIX/9B,GAAOD,QAAUmlD,Mlfy8gBb,SAAUllD,EAAQD,Gmf1hhBxB,QAASolD,GAAUvgD,GACjB,QAASA,EAAI4L,aAAmD,kBAA7B5L,GAAI4L,YAAY20C,UAA2BvgD,EAAI4L,YAAY20C,SAASvgD,GAIzG,QAAS0iD,GAAc1iD,GACrB,MAAkC,kBAApBA,GAAI2iD,aAAmD,kBAAd3iD,GAAIwB,OAAwB++C,EAASvgD,EAAIwB,MAAM,EAAG;;;;;;AAV3GpG,EAAOD,QAAU,SAAU6E,GACzB,MAAc,OAAPA,IAAgBugD,EAASvgD,IAAQ0iD,EAAa1iD,MAAUA,EAAI4iD,anfwjhB/D,SAAUxnD,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C6b,EAAWvX,EAAuBtE,EAAoB,KofzkhBtDonD,EAAgB,SAASC,EAASxwC,GAAM,MACtCywC,GAGA,aAAAD,GAAO,KAAPA,EAAgB,UAAY,EAC9BC,EAAaC,KAAKF,IACT,eAAAA,EAAQ52C,MAAM,KAAK,IAAnB,OAA8B,WAAa,GACpDoG,EACEA,GACAwwC,EACG52C,MAAM,KAAK,GACXA,MAAM,KAAK,GACXA,MAAM,KAAK,GAChB62C,EAAaC,KAAKF,EAAQ52C,MAAM,KAAK,KAErC62C,EAAa9pB,SAAS6pB,EAAQ52C,MAAM,KAAK,GAG3C,KAAK,GADD+2C,GAAK,GAAI7e,YAAW2e,EAAW3kD,QAC1BxC,EAAI,EAAGA,EAAImnD,EAAW3kD,OAAQxC,IACrCqnD,EAAGrnD,GAAKmnD,EAAWvuB,WAAW54B,EAEhC,OAAO,IAAIi8C,OAAMoL,IAAO3wC,SAG1BlX,GAAOD,QAAU0nD,GpfglhBX,SAAUznD,EAAQD,EAASM,GAEjC,YqfnkhBA,SAASynD,GAASrmD,EAAQuzB,GACxB,MAAMvzB,IAAUA,EAAOuzB,GAGhBnrB,EAAEgF,WAAWpN,EAAOuzB,IAASvzB,EAAOuzB,KAAUvzB,EAAOuzB,GAFnD,KrfokhBX,GAAIrwB,GAAyBtE,EAAoB,GAE7C0nD,EAAkBpjD,EAAuBtE,EAAoB,MAE7D2b,EAAOrX,EAAuBtE,EAAoB,KAElD6b,EAAWvX,EAAuBtE,EAAoB,KAEtDi3C,EAAQ3yC,EAAuBtE,EAAoB,MAEnD8J,EAAWxF,EAAuBtE,EAAoB,KAEtD6J,EAAUvF,EAAuBtE,EAAoB,KAErD8b,EAASxX,EAAuBtE,EAAoB,KAEpD4b,EAAatX,EAAuBtE,EAAoB,KAExDsvC,EAAkBhrC,EAAuBtE,EAAoB,MAE7D2nD,EAA4BrjD,EAAuBtE,EAAoB,MqfjohBrEwJ,EAAIO,EAAQ,GACZI,EAAUJ,EAAQ,IACxB,EAAqBA,EAAQ,IAArBiE,EAAR,EAAQA,SACR,EAQIjE,EAAQ,IAPVgF,EADF,EACEA,kBACAI,EAFF,EAEEA,YACAC,EAHF,EAGEA,sBACAmB,EAJF,EAIEA,SACAQ,EALF,EAKEA,UACAE,EANF,EAMEA,cACAC,EAPF,EAOEA,cAGI02C,EAAqB,QAArBA,GAAqB1jD,GACzB,MAAIsF,GAAElD,QAAQpC,IAAe,aAAAA,GAAK,KAALA,EAAU0jD,GACnC32C,EAAc/M,GAAesF,EAAEmV,UAAUza,EAAO0jD,GAChDp+C,EAAEZ,SAAS1E,IAAUA,EAAM8Z,WAAmB9Z,EAAM8Z,aACjD9Z,GAGH2jD,GAAiB,WAAY,YAAa,aAC1CC,EAAmB,SAAA7kD,GACvB,IAAoC,KAAhC,aAAA4kD,GAAa,KAAbA,EAAsB5kD,GACxB,KAAM,IAAIwJ,OAAJ,cAAiBxJ,EAAjB,mBAIJ8kD,EAAqB,SAAAtsC,GACzB,GAAMusC,IAAa,aAAAx+C,GAAC,KAADA,EAAOiS,EAAS,SAAArF,GAAM,MAAIA,aAAkB3J,QAC/D,KAAKu7C,EACH,MAAOvsC,EAET,IAAM/W,GAAQ,GAAIyF,GAAQ69C,EAAW36C,KAAM26C,EAAW16C,QAEtD,MADA5I,GAAM+W,QAAUA,EACV/W,EAeR/E,GAAOD,QAAU,SAASwK,GA4BxBA,EAAGrJ,OAAS,SAASof,EAAYrd,GAE/B,GAAI4G,EAAEoT,SAASqD,GACb,MAAO/V,GAAGrJ,OAAOoe,QAAQtd,MAAM5B,KAAM2C,UAGvCud,GAAaA,MACTrd,GAAWA,EAAQ8K,QACrBuS,EAAalgB,KAAK2N,MAAMuS,GACxBA,EAAalgB,KAAKkoD,kBAAkBhoC,GAEtC,IAAI0N,GAAW85B,EAAS1nD,KAAM,WAC1B4tB,KACF1N,EAAazW,EAAES,UAAW0jB,EAAU1N,IAElCrd,GAAWA,EAAQojB,aACrBjmB,KAAKimB,WAAapjB,EAAQojB,YAG5BjmB,KAAKmoD,eACLnoD,KAAKooD,iBACLpoD,KAAKqoD,UACLroD,KAAKkgB,cAELlgB,KAAKsoD,eACLtoD,KAAKuoD,sBACLvoD,KAAKwoD,IAAM/+C,EAAEigC,SAAS,KACtB1pC,KAAKyoD,WACLzoD,KAAK0oD,WACL1oD,KAAK2oD,YACL3oD,KAAK+Z,IAAImG,GAAc0oC,QAAQ,IAC/B5oD,KAAKyoD,WACLzoD,KAAK0oD,WACL1oD,KAAK2oD,YACL3oD,KAAK+d,UAAW,EAChB/d,KAAK6oD,oBAAsBp/C,EAAE0V,MAAMnf,KAAKkgB,YACxClgB,KAAKuwC,WAAW3uC,MAAM5B,KAAM2C,YAqB9BwH,EAAGrJ,OAAOgoD,QAAU,SAAS1iC,EAAMvjB,GACjC,MAAOsH,GAAGrJ,OAAOioD,eAAe3iC,EAAM,KAAMvjB,IAW9CsH,EAAGrJ,OAAOkoD,SAAW,SAACtQ,EAAS71C,GAAV,MACnB,WAAQgJ,UACLC,KAAK,iBACJmC,GACE,QACA,KACA,KACA,QAEEg7C,UAAU,aAAAx/C,GAAC,KAADA,EAAMivC,EAAS,SAAAr3C,GAAU,KACjC,KAAKA,EAAO8M,UACV,KAAM,IAAIzB,OAAM,sCAClB,KAAKrL,EAAOsd,GAAI,KAAM,IAAIjS,OAAM,+BAChC,IAAIrL,EAAO6nD,QACT,KAAM,IAAIx8C,OAAM,mCAClB,QACEnE,OAAQ,MACRrG,MAAM,EAAF,oCAAkBb,EAAO8M,UAAzB,aAAsC9M,EAAOsd,QAIvD9b,KAGHiJ,KAAK,SAAS2B,GACb,GAAMiO,IAAU,aAAAjS,GAAC,KAADA,EAAMivC,EAAS,SAASr3C,EAAQjB,GAC9C,GAAIqN,EAASrN,GAAGu+C,QAAS,CACvB,GAAMwK,GAAe9nD,EAAOsM,MAAMF,EAASrN,GAAGu+C,QAG9C,OAFAt9C,GAAO+nD,kBAAkBD,GACzB9nD,EAAO+d,aAAa+pC,GACb9nD,EAET,MAA4B,QAAxBoM,EAASrN,GAAGu+C,QACP,GAAIv0C,GAAQA,EAAQ0I,iBAAkB,qBAExC,GAAI1I,GAAQqD,EAASrN,GAAGuE,MAAM2I,KAAMG,EAASrN,GAAGuE,MAAMA,QAE/D,OAAOqjD,GAAmBtsC,MAIhCjS,EAAES,OACAC,EAAGrJ,OAAOS,UACV4I,EAAGgwB,QAED9rB,gBAAgB,EAMhBkiC,WAAY,aAUZ8Y,cAAe,SAAS9oC,GAItB,GAHAhV,QAAQC,KACN,kGAEG/B,EAAEuqB,UAAUzT,GACf,KAAM,IAAI7T,OAAM,yCAElB1M,MAAKqO,eAAiBkS,GAOxB+oC,YAAa,WACX,MAAOtpD,MAAK2e,IAOd4qC,aAAc,WACZ,MAAOvpD,MAAKwpD,WAOdC,aAAc,WACZ,MAAOzpD,MAAK0pD,WAOd9/C,OAAQ,SAAS1G,EAAK65C,GAA0B,GAAlBn/B,GAAkB,yDAC9C,OAAO5d,MAAKge,YAAYJ,GAAa,IASvCk/B,WAjEgC,WAiEH,GAAlBl/B,GAAkB,yDAC3B,OAAO5d,MAAKge,YAAYJ,IAG1BI,YAAa,SAASJ,GAA0B,WAAbE,IAAa,yDAC1C05B,EAAO/tC,EAAE0V,MAAMnf,KAAKkgB,WACxB,IAAIzW,EAAElD,QAAQqX,GACZ,GAAI+rC,IAAiB,aAAA/rC,GAAW,KAAXA,EAAmB5d,KAwB1C,OAtBAmK,GAAGkW,YAAYm3B,EAAM,SAASnY,EAAKn8B,GACjCs0C,EAAKt0C,GAAOiH,EAAGwT,QAAQ0hB,EAAKsqB,MAAgBthD,GAAWyV,KAEzD3T,EAAGkW,YAAYrgB,KAAK68C,YAAa,SAASxd,EAAKn8B,GAC7Cs0C,EAAKt0C,GAAOm8B,IAGV51B,EAAEgJ,IAAIzS,KAAM,QACdw3C,EAAKppC,SAAWpO,KAAK2e,KAEtB,YAAa,aAAa7N,QAAQ,SAAA5N,GACjC,GAAIuG,EAAEgJ,IAAI,EAAMvP,GAAM,CACpB,GAAMm8B,GAAM,EAAKn8B,EACjBs0C,GAAKt0C,GAAOuG,EAAE0U,OAAOkhB,GAAOA,EAAIz1B,SAAWy1B,KAG3CvhB,IACF05B,EAAKp5B,OAAS,SACV3U,EAAElD,QAAQqX,IAAgBA,EAAYhb,SACxC40C,EAAKp5B,OAAS,WAChBo5B,EAAKrpC,UAAYnO,KAAKmO,WAEjBqpC,GAQToS,cAAe,WACb,GAAI7pD,GAAOC,IACPD,GAAK8pD,mBAGT9pD,EAAK8pD,kBAAmB,EACxB1/C,EAAGkW,YAAYrgB,KAAKkgB,WAAY,SAAS/b,EAAOjB,GAC1CiB,YAAiBgG,GAAGrJ,OACtBqD,EAAMylD,gBACGngD,EAAEZ,SAAS1E,IAChBpE,EAAK+pD,kBAAkB5mD,IACzBnD,EAAKga,IAAI7W,EAAK,GAAIiH,GAAGsU,GAAGo5B,IAAI1zC,IAAUykD,QAAQ,YAI7C7oD,GAAK8pD,mBAUdX,MAAO,SAAS5L,GACdt9C,KAAK4pD,eAEL,IAAIG,GAAiBtgD,EAAE+tB,KAAKx3B,KAAKooD,YAEjC,OAAI9K,KACKyM,EAAezM,IAEnBt9C,KAAK2e,KAGN,aAAAlV,GAAC,KAADA,EAAOsgD,GAAgBnnD,OAAS,GAUtConD,UAAW,WACThqD,KAAK4pD,eACL,IAAIG,GAAiBtgD,EAAE+tB,KAAKx3B,KAAKooD,YACjC,QAAO,aAAA3+C,GAAC,KAADA,EAAOsgD,IAOhB9rC,WAAY,WAIV,OACEG,OAAQ,UACRjQ,UAAWnO,KAAKmO,UAChBC,SAAUpO,KAAK2e,KAQnBzd,IAAK,SAASo8C,GACZ,OAAQA,GACN,IAAK,WACH,MAAOt9C,MAAK2e,EACd,KAAK,YACL,IAAK,YACH,MAAO3e,MAAKs9C,EACd,SACE,MAAOt9C,MAAKkgB,WAAWo9B,KAS7B/9B,SAAU,SAAS+9B,GACjB,GAAIn5C,GAAQnE,KAAKkB,IAAIo8C,EACrB,IAAIn5C,EAAO,CACT,KAAMA,YAAiBgG,GAAGqU,UACxB,KAAM,IAAI9R,OAAM,2CAA6C4wC,EAG/D,OADAn5C,GAAMq2C,oBAAoBx6C,KAAMs9C,GACzBn5C,EAEP,MAAO,IAAIgG,GAAGqU,SAASxe,KAAMs9C,IAOjCxnB,OAAQ,SAASwnB,GACf,GAAIxlC,GAAO9X,KAAKuoD,mBAAmBjL,EACnC,IAAIxlC,EACF,MAAOA,EAET,IACImyC,GADA5qB,EAAMr/B,KAAKkgB,WAAWo9B,EAQ1B,OALE2M,GADEj7C,EAAkBqwB,GACV,GAEA51B,EAAEqsB,OAAOuJ,EAAIp5B,YAEzBjG,KAAKuoD,mBAAmBjL,GAAQ2M,EACzBA,GASTx3C,IAAK,SAAS6qC,GACZ,OAAQtuC,EAAkBhP,KAAKkgB,WAAWo9B,KAS5C4K,kBAAmB,SAASz/B,GAE1B,GAAIyhC,GAAQlqD,KACRmqD,GAAiB,WAAY,YAAa,YAgB9C,OAfAhgD,GAAG4V,WAAWoqC,EAAe,SAAS7M,GAChC70B,EAAM60B,KACK,aAATA,EACF4M,EAAMvrC,GAAK8J,EAAM60B,GAEP,cAATA,GAAiC,cAATA,GACxB7zC,EAAE0U,OAAOsK,EAAM60B,IAIhB4M,EAAM5M,GAAQ70B,EAAM60B,GAFpB4M,EAAM5M,GAAQnzC,EAAGqT,WAAWiL,EAAM60B,UAI7B70B,GAAM60B,MAGV70B,GAOT2hC,WAAY,WACVpqD,KAAKooD,YAAYriD,UAgBnBskD,YAAa,WACX,GAAIC,GAAgB7gD,EAAEg8B,MAAMzlC,KAAKooD,YACjCpoD,MAAKooD,YAAc3+C,EAAEH,KAAKtJ,KAAKooD,YAC/B,IAAImC,GAAc9gD,EAAEg8B,MAAMzlC,KAAKooD,YAC/Bj+C,GAAGkW,YAAYiqC,EAAe,SAAS7S,EAAIv0C,GACzC,GAAIsnD,GAAMF,EAAcpnD,GACpBunD,EAAMF,EAAYrnD,EAClBsnD,IAAOC,EACTF,EAAYrnD,GAAOunD,EAAI7S,mBAAmB4S,GACjCA,IACTD,EAAYrnD,GAAOsnD,KAGvBxqD,KAAK0qD,QAAU1qD,KAAK0qD,QAAU,GAShCC,YAAa,SAASC,GAAY,MAK5BC,IACJ1gD,GAAG6V,UAAUhgB,KAAKkgB,WAAY,SAAS7e,GACjCA,YAAkB8I,GAAGrJ,QAAUO,EAAOsd,IAAMtd,EAAO0c,WACrD8sC,EAAexpD,EAAOsd,IAAMtd,IAIhC,IAAIypD,GAAerhD,EAAEg8B,MAAMzlC,KAAKooD,YAChCpoD,MAAKooD,YAAc3+C,EAAEH,KAAKtJ,KAAKooD,aAC/BpoD,KAAK+qD,YAAYD,EAAc9qD,KAAKmoD,aACpCnoD,KAAKkoD,kBAAkB0C,EACvB,IAAI7qD,GAAOC,IACXmK,GAAGkW,YAAYuqC,EAAY,SAASzmD,EAAOjB,GACzCnD,EAAKooD,YAAYjlD,GAAOiH,EAAG4U,QAAQ5a,EAAOjB,EAI1C,IAAI8nD,GAAU7gD,EAAG6V,UAAUjgB,EAAKooD,YAAYjlD,GAAM,SAAS7B,GACzD,GAAIA,YAAkB8I,GAAGrJ,QAAU+pD,EAAexpD,EAAOsd,IACvD,MAAOksC,GAAexpD,EAAOsd,KAG7BqsC,KACFjrD,EAAKooD,YAAYjlD,GAAO8nD,KAG5BhrD,KAAKirD,0BACL,IAAMC,IAAa,eAAAlrD,KAAKooD,aAAL,OAAqB3+C,EAAE0V,MAC1Cnf,MAAK4pD,gBACL5pD,KAAKooD,YAAc8C,EACnBlrD,KAAK0qD,QAAU1qD,KAAK0qD,QAAU,GAQhCtrC,aAAc,SAASwrC,EAAYO,GAEjCnrD,KAAKooD,iBAGLpoD,KAAKkoD,kBAAkB0C,EACvB,IAAI7qD,GAAOC,IACXmK,GAAGkW,YAAYuqC,EAAY,SAASzmD,EAAOjB,GACzCnD,EAAKooD,YAAYjlD,GAAOiH,EAAG4U,QAAQ5a,EAAOjB,KAI5ClD,KAAKirD,2BAGLjrD,KAAK4pD,gBACL5pD,KAAKooD,iBAELpoD,KAAK+d,SAAWotC,GAOlBJ,YAAa,SAASK,EAAO3nD,GAC3B,GAAI1D,GAAOC,IACXmK,GAAGkW,YAAY+qC,EAAO,SAAS3Q,EAAQv3C,GACrC,MAAyC8N,EAAUvN,EAAQP,GAA3D,qBAAOiB,EAAP,KAAcknD,EAAd,KAA4BC,EAA5B,IACA96C,GAAS/M,EAAQP,EAAKu3C,EAAO1C,UAAU5zC,EAAOpE,EAAMmD,IAChDmoD,GAAgBA,EAAaC,KAAenhD,EAAGsU,GAAGw5B,cAC7CoT,GAAaC,MAU1BxB,kBAAmB,SAAS5mD,GAC1B,GAAIiB,GAAQnE,KAAKkgB,WAAWhd,EAC5B,IACEuG,EAAEZ,SAAS1E,MACTA,YAAiBgG,GAAGrJ,WACpBqD,YAAiBgG,GAAGuU,MACtB,CACA,GAAI84B,IAAO,aAAeqQ,EAAmB1jD,GAC7C,IAAInE,KAAKsoD,YAAYplD,KAASs0C,EAAM,CAClC,GAAI+T,KAAWvrD,KAAKsoD,YAAYplD,EAEhC,OADAlD,MAAKsoD,YAAYplD,GAAOs0C,EACjB+T,GAGX,OAAO,GASTC,4BAA6B,SAAStoD,GACpC,GAAInD,GAAOC,WACJA,MAAKkgB,WAAWhd,GACnBlD,KAAKmoD,YAAYjlD,KACnBlD,KAAKkgB,WAAWhd,GAAOlD,KAAKmoD,YAAYjlD,IAE1CiH,EAAG4V,WAAW/f,KAAKooD,YAAa,SAASgD,GACvC,GAAI3T,GAAK2T,EAAMloD,EACf,IAAIu0C,EAAI,CACN,MAAmDzmC,EACjDjR,EAAKmgB,WACLhd,GAFF,qBAAOiB,EAAP,KAAcknD,EAAd,KAA4BC,EAA5B,KAAuCG,EAAvC,IAIAj7C,GAASzQ,EAAKmgB,WAAYhd,EAAKu0C,EAAGM,UAAU5zC,EAAOpE,EAAMmD,IACrDmoD,GAAgBA,EAAaC,KAAenhD,EAAGsU,GAAGw5B,cAC7CoT,GAAaC,GAEtBvrD,EAAK+pD,kBAAkB2B,OAW7BR,yBAA0B,WACxB,GAAIlrD,GAAOC,KAEP0rD,EAAqBjiD,EAAE0V,MAAMnf,KAAKkgB,WAEtClgB,MAAKkgB,WAAazW,EAAE0V,MAAMnf,KAAKmoD,aAC/Bh+C,EAAG4V,WAAW/f,KAAKooD,YAAa,SAASgD,GACvCrrD,EAAKgrD,YAAYK,EAAOrrD,EAAKmgB,YAC7B/V,EAAGkW,YAAY+qC,EAAO,SAAS3T,EAAIv0C,GACjCnD,EAAK+pD,kBAAkB5mD,OAK3BiH,EAAGkW,YAAYqrC,EAAoB,SAAS1T,EAAU90C,GAChDnD,EAAKmgB,WAAWhd,KAAS80C,GAC3Bj4C,EAAK6zC,QAAQ,UAAY1wC,EAAKnD,EAAMA,EAAKmgB,WAAWhd,SAGxDiH,EAAGkW,YAAYrgB,KAAKkgB,WAAY,SAAS24B,EAAU31C,GAC5CuG,EAAEgJ,IAAIi5C,EAAoBxoD,IAC7BnD,EAAK6zC,QAAQ,UAAY1wC,EAAKnD,EAAM84C,SA6B1C9+B,IAAK,SAAS7W,EAAKiB,EAAOtB,GACxB,GAAI4lB,EAeJ,IAdIhf,EAAEZ,SAAS3F,IAAQ8L,EAAkB9L,IACvCulB,EAAQhf,EAAEmV,UAAU1b,EAAK,SAAS2b,EAAGC,GAEnC,MADAipC,GAAiBjpC,GACV3U,EAAG4U,QAAQF,EAAGC,KAEvBjc,EAAUsB,IAEVskB,KACAs/B,EAAiB7kD,GACjBulB,EAAMvlB,GAAOiH,EAAG4U,QAAQ5a,EAAOjB,IAIjCL,EAAUA,OACL4lB,EACH,MAAOzoB,KAELyoB,aAAiBte,GAAGrJ,SACtB2nB,EAAQA,EAAMvI,YAIZrd,EAAQ8oD,OACVxhD,EAAGkW,YAAYoI,EAAO,SAASmjC,EAAc1oD,GAC3CulB,EAAMvlB,GAAO,GAAIiH,GAAGsU,GAAGy5B,OAK3B,IAAI2T,GAAiBpiD,EAAE0V,MAAMsJ,GACzB1oB,EAAOC,IACXmK,GAAGkW,YAAYwrC,EAAgB,SAAS1nD,EAAOjB,GACzCiB,YAAiBgG,GAAGsU,KACtBotC,EAAe3oD,GAAOiB,EAAM4zC,UAC1Bh4C,EAAKmgB,WAAWhd,GAChBnD,EACAmD,GAEE2oD,EAAe3oD,KAASiH,EAAGsU,GAAGw5B,cACzB4T,GAAe3oD,MAM5BlD,KAAKg0C,UAAUvrB,EAAO5lB,GAEtBA,EAAQipD,UACR,IAAI7B,GAAUjqD,KAAKuoD,kBAqDnB,OAlDAp+C,GAAG4V,YAAW,aAAAtW,GAAC,KAADA,EAAOgf,GAAQ,SAAS60B,GACpC,GAAIje,GAAM5W,EAAM60B,EAKZje,aAAel1B,GAAGqU,WACpB6gB,EAAIrvB,OAASjQ,GAGTs/B,YAAel1B,GAAGsU,KACtB4gB,EAAM,GAAIl1B,GAAGsU,GAAGo5B,IAAIxY,GAItB,IAAI0sB,IAAe,CAEjB1sB,aAAel1B,GAAGsU,GAAGo5B,KACrBpuC,EAAEg/B,QAAQ1oC,EAAKmgB,WAAWo9B,GAAOje,EAAIl7B,SAErC4nD,GAAe,GAGbA,UACK9B,GAAQ3M,GACXz6C,EAAQ+lD,OACV7oD,EAAK2oD,QAAQpL,IAAQ,EAErBz6C,EAAQipD,QAAQxO,IAAQ,EAI5B,IAAIyM,GAAiBtgD,EAAE+tB,KAAKz3B,EAAKqoD,YACjC2B,GAAezM,GAAQje,EAAIuY,mBAAmBmS,EAAezM,IAC7Dv9C,EAAKyrD,4BAA4BlO,GAE7ByO,GACFhsD,EAAK0oD,QAAQnL,GAAQv9C,EAAKmgB,WAAWo9B,GAChCz6C,EAAQ+lD,SACX7oD,EAAK4oD,SAASrL,IAAQ,WAGjBv9C,GAAK0oD,QAAQnL,SACbv9C,GAAK4oD,SAASrL,MAIpBz6C,EAAQ+lD,QACX5oD,KAAKy6C,OAAO53C,GAEP7C,MAST2rD,MAAO,SAASrO,EAAMz6C,GAGpB,MAFAA,GAAUA,MACVA,EAAQ8oD,OAAQ,EACT3rD,KAAK+Z,IAAIujC,EAAM,KAAMz6C,IAU9BmpD,UAAW,SAAS1O,EAAMlF,GAIxB,OAHI3uC,EAAE0F,YAAYipC,IAAW3uC,EAAEyF,OAAOkpC,MACpCA,EAAS,GAEJp4C,KAAK+Z,IAAIujC,EAAM,GAAInzC,GAAGsU,GAAG05B,UAAUC,KAS5ClV,IAAK,SAASoa,EAAMh3B,GAClB,MAAOtmB,MAAK+Z,IAAIujC,EAAM,GAAInzC,GAAGsU,GAAGg6B,IAAIrpC,EAAYkX,MAWlD2lC,UAAW,SAAS3O,EAAMh3B,GACxB,MAAOtmB,MAAK+Z,IAAIujC,EAAM,GAAInzC,GAAGsU,GAAGm6B,UAAUxpC,EAAYkX,MAUxDo0B,OAAQ,SAAS4C,EAAMh3B,GACrB,MAAOtmB,MAAK+Z,IAAIujC,EAAM,GAAInzC,GAAGsU,GAAGu6B,OAAO5pC,EAAYkX,MAUrD4lC,OAtpBgC,SAspBzB5O,EAAMn5C,GACX,MAAOnE,MAAK+Z,IAAIujC,EAAM,GAAInzC,GAAGsU,GAAG65B,OAAOn0C,KAUzCgoD,MAjqBgC,SAiqB1B7O,EAAMn5C,GACV,MAAOnE,MAAK+Z,IAAIujC,EAAM,GAAInzC,GAAGsU,GAAG85B,MAAMp0C,KAUxCioD,OA5qBgC,SA4qBzB9O,EAAMn5C,GACX,MAAOnE,MAAK+Z,IAAIujC,EAAM,GAAInzC,GAAGsU,GAAG+5B,OAAOr0C,KAYzCszC,GAAI,SAAS6F,GACX,MAAO7zC,GAAE+tB,KAAKx3B,KAAKooD,aAAa9K,IAOlCtrB,MAAO,SAASnvB,GACdA,EAAUA,MACVA,EAAQ8oD,OAAQ,CAChB,IAAIU,GAAc5iD,EAAES,OAAOlK,KAAKkgB,WAAYlgB,KAAK68C,YACjD,OAAO78C,MAAK+Z,IAAIsyC,EAAaxpD,IAO/BypD,OA5sBgC,SA4sBzB7lD,GACL,GAAM8lD,GAAS9iD,EAAE+tB,KAAKx3B,KAAKooD,YAM3B,OALch5C,GAAY3I,IAAQ,aAAAgD,GAAC,KAADA,EAAO8iD,IACnCz7C,QAAQ,SAAA5N,SACLqpD,GAAOrpD,KAEhBlD,KAAKirD,2BACEjrD,MAQTwsD,aAAc,WACZ,GAAIhV,GAAO/tC,EAAE0V,MAAM1V,EAAEg8B,MAAMzlC,KAAKooD,aAIhC,OAHAj+C,GAAGkW,YAAYm3B,EAAM,SAASC,EAAIv0C,GAChCs0C,EAAKt0C,GAAOu0C,EAAG7tC,WAEV4tC,GAOTiV,iBAAkB,WAChB,MAAOtiD,GAAGrJ,OAAO4rD,wBAAwB1sD,KAAKkgB,aAahD0+B,MAAO,WAAqC,GAA5BpvC,GAA4B,0DAAT3M,EAAS,sCAC1C,KAAK7C,KAAK2e,GACR,KAAM,IAAIjS,OAAM,8BAElB,IAAI3M,GAAOC,IASX,OARciO,GACZ,UACAjO,KAAKmO,UACLnO,KAAK2e,GACL,MACAtP,EAAsBG,GACtB3M,GAEaiJ,KAAK,SAAS2B,GAC3B,GAAM07C,GAAeppD,EAAK4N,MAAMF,EAUhC,OATA1N,GAAKqpD,kBACHD,GACA,aAAA35C,GACIJ,GAAY,EAAD,WAACI,IACTC,KAAK,KACLiB,MAAM,SACTrI,IAENtI,EAAKqf,aAAa+pC,GAAc,GACzBppD,KAIXqpD,kBAjxBgC,SAixBdD,GAAsD,WAAxCwD,EAAwC,wDAA1B,aAAAljD,GAAC,KAADA,EAAOzJ,KAAKmoD,YACxD1+C,GAAEqH,QAAQ67C,EAAa,SAAAzpD,OACKmF,KAAtB8gD,EAAajmD,UAA2B,GAAKilD,YAAYjlD,MAiCjE8e,KAAM,SAAS8xB,EAAMC,EAAM6Y,GACzB,GAAInkC,GAAOvW,EAASrP,CAChB4G,GAAEZ,SAASirC,IAAS9kC,EAAkB8kC,IACxCrrB,EAAQqrB,EACRjxC,EAAUkxC,IAEVtrB,KACAA,EAAMqrB,GAAQC,EACdlxC,EAAU+pD,GAGZ/pD,EAAU4G,EAAE0V,MAAMtc,OACdA,EAAQuzB,OACVlkB,EAAUzI,EAAE0V,MAAMnf,KAAKkgB,YAGzB,IAAI2sC,GAAapjD,EAAE0V,MAAMtc,MACrBgqD,GAAWz2B,OACby2B,EAAWjE,QAAS,GAElBngC,GACFzoB,KAAK+Z,IAAI0O,EAAOokC,EAGlB,IAAI3C,GAAQlqD,KAER8sD,KACAC,IAEJ,OADA5iD,GAAGrJ,OAAOksD,qBAAqB9C,EAAO4C,EAAiBC,GACnDD,EAAgBlqD,OAASmqD,EAAanqD,OAAS,EAC1CuH,EAAGrJ,OAAOioD,eAAe/oD,KAAMkqD,EAAOrnD,IAG/C7C,KAAKoqD,aACLpqD,KAAK0qD,SAAW1qD,KAAK0qD,SAAW,GAAK,EAErC1qD,KAAKitD,kBAAoBjtD,KAAKitD,mBAAqB,UAAQphD,UAC3D7L,KAAKitD,kBAAoBjtD,KAAKitD,kBAC3B7/C,MAAM,SAAAQ,MACN9B,KAAK,WACJ,GAAIvD,GAAS2hD,EAAMvrC,GAAK,MAAQ,OAE5B64B,EAAO0S,EAAMsC,eACb3/C,IAUJ,KARIq9C,EAAM77C,gBAAkBxL,EAAQwmD,iBAClCx8C,EAAK,IAAU,QAGbhK,EAAQqqD,kBACVrgD,EAAMsgD,eAAiB,QAGrBtqD,EAAQgK,MAAO,CACjB,GAAIugD,EAOJ,IANwC,kBAA7BvqD,GAAQgK,MAAMwgD,aACvBD,EAAcvqD,EAAQgK,MAAMwgD,gBAE1BxgD,EAAMm+B,MAAQoiB,EAAYpiB,QAGzBn+B,EAAMm+B,MAAO,CAEhB,KADY,IAAIt+B,OAAM,qCAK1BjD,EAAES,OAAOstC,EAAM0S,EAAM7B,OAErB,IAAIn6C,GAAQ,UACRC,EAAY+7C,EAAM/7C,SACE,WAApB+7C,EAAM/7C,WAA0B+7C,EAAMvrC,KAExCzQ,EAAQ,QACRC,EAAY,KAGd,IAAIm/C,GAAczqD,EAAQ0qD,cAAgBt/C,EACtCu/C,EAAiBF,EACnBp/C,EACAC,EACA+7C,EAAMvrC,GACNpW,EACAivC,EACA30C,EACAgK,EAqBF,OAlBA2gD,GAAiBA,EAAe1hD,KAC9B,SAAS2hD,GACP,GAAIC,GAAcxD,EAAMv8C,MAAM8/C,EAQ9B,OAPI5qD,GAAQuzB,OACVs3B,EAAcjkD,EAAES,OAAOue,MAAailC,IAEtCxD,EAAMS,YAAY+C,GACd7qD,EAAQuzB,MACV8zB,EAAMnwC,IAAI7H,EAAS26C,GAEd3C,GAET,SAASvlD,GAEP,KADAulD,GAAMG,cACA1lD,MAMP3E,KAAKitD,oBAadlf,QAAS,SAASlrC,GAChBA,EAAUA,KACV,IAAIqnD,GAAQlqD,KAER2tD,EAAiB,WACnBzD,EAAMtW,QAAQ,UAAWsW,EAAOA,EAAMjkC,WAAYpjB,GAGpD,OAAK7C,MAAK2e,IAIL9b,EAAQuzB,MACXu3B,IAGY1/C,EACZ,UACAjO,KAAKmO,UACLnO,KAAK2e,GACL,SACA3e,KAAKqoD,OACLxlD,GAEaiJ,KAAK,WAIlB,MAHIjJ,GAAQuzB,MACVu3B,IAEKzD,KAnBAyD,KA2BXhgD,MAAO,SAAS8/C,GACd,GAAItyC,GAAS1R,EAAE0V,MAAMsuC,EASrB,QARC,YAAa,aAAa38C,QAAQ,SAAS5N,GACtCiY,EAAOjY,KACTiY,EAAOjY,GAAOiH,EAAGqT,WAAWrC,EAAOjY,OAGnCiY,EAAOquC,YAAcruC,EAAOuuC,YAC9BvuC,EAAOuuC,UAAYvuC,EAAOquC,WAErBruC,GAOTgE,MAAO,WACL,MAAO,IAAInf,MAAKoQ,YAAYpQ,KAAKkgB,aAOnC0tC,MAAO,WACL,OAAQ5tD,KAAK2e,IAQf87B,OAAQ,SAAS53C,GACfA,EAAUA,KACV,IAAIgrD,GAAW7tD,KAAK8tD,SACpB9tD,MAAK8tD,WAAY,CAGjB,IAAI/tD,GAAOC,IACXmK,GAAGkW,YAAYrgB,KAAK0oD,QAAS,SAASpL,GACpCv9C,EAAK4oD,SAASrL,IAAQ,GAIxB,IAAIwO,GAAUriD,EAAES,UAAWrH,EAAQipD,QAAS9rD,KAAK0oD,QAKjD,IAJA1oD,KAAK0oD,WACLv+C,EAAGkW,YAAYyrC,EAAS,SAASF,EAActO,GAC7Cv9C,EAAK6zC,QAAQ,UAAY0J,EAAMv9C,EAAMA,EAAKmB,IAAIo8C,GAAOz6C,KAEnDgrD,EACF,MAAO7tD,KAWT,KAPA,GAAI+tD,GAAgB,SAAS5pD,EAAOm5C,GAC7Bv9C,EAAK4oD,SAASrL,IAAUv9C,EAAK2oD,QAAQpL,UACjCv9C,GAAK0oD,QAAQnL,KAKhB7zC,EAAEs+B,QAAQ/nC,KAAK2oD,WACrB3oD,KAAK2oD,YACL3oD,KAAK4zC,QAAQ,SAAU5zC,KAAM6C,GAE7BsH,EAAGkW,YAAYrgB,KAAKyoD,QAASsF,GAC7BhuD,EAAK8oD,oBAAsBp/C,EAAE0V,MAAMnf,KAAKkgB,WAI1C,OADAlgB,MAAK8tD,WAAY,EACV9tD,MAQTgqC,SAAU,SAASsT,GACjB,MAAK36C,WAAUC,QAAW5C,KAAK6oD,oBAGxB7oD,KAAK6oD,oBAAoBvL,GAFvB,MAUXoO,mBAAoB,WAClB,MAAOjiD,GAAE0V,MAAMnf,KAAK6oD,sBAQtBmF,QAAS,WACP,IACEhuD,KAAKiuD,SAASjuD,KAAKkgB,YACnB,MAAOvb,GACP,OAAO,EAET,OAAO,GAaTspD,SAAU,SAASxlC,GACjB,GAAIhf,EAAEgJ,IAAIgW,EAAO,UAAYA,EAAMvK,cAAe/T,GAAG+T,KACnD,KAAM,IAAI9T,GAAQA,EAAQuI,YAAa,0BAU3CqhC,UAAW,SAASvrB,EAAO5lB,IACrBA,EAAQ+lD,QAAW5oD,KAAKiuD,WAG5BxlC,EAAQhf,EAAES,UAAWlK,KAAKkgB,WAAYuI,GACtCzoB,KAAKiuD,SAASxlC,KAQhBu0B,OAAQ,WACN,MAAOh9C,MAAKkB,IAAI,QAWlBg8C,OAAQ,SAASC,EAAKt6C,GACpB,MAAO7C,MAAK+Z,IAAI,MAAOojC,EAAKt6C,IAG9BqrD,kBAAmB,WACjBluD,KAAKmuD,WAAW,cAChBnuD,KAAKmuD,WAAW,gBAChBnuD,KAAKmuD,WAAW,iBAGlBC,iBAAkB,WAChBpuD,KAAKmuD,WAAW,aAChBnuD,KAAKmuD,WAAW,eAChBnuD,KAAKmuD,WAAW,gBAGlBA,WAAY,SAASE,GACnB,IACG5kD,EAAE4c,UAEC,aACA,YACA,eACA,cACA,eACA,eAEFgoC,GAGF,KAAM,IAAI3hD,OAAM,yBAA2B2hD,EAG7C,KAAKlkD,EAAGsB,QACN,KAAM,IAAIiB,OAAM,8BAGb1M,MAAKqoD,OAAOiG,iBACftuD,KAAKqoD,OAAOiG,mBAGdtuD,KAAKqoD,OAAOiG,eAAevoD,KAAKsoD,MAYtClkD,EAAGrJ,OAAO27C,kBAAoB,SAAC8R,EAAO5vC,EAAIwsC,GACxC,GAAIqD,EACJ,IAAI/kD,EAAEoT,SAAS0xC,GACbC,EAASrkD,EAAGrJ,OAAO85C,aAAa2T,OAC3B,MAAIA,EAAMhtD,WAAagtD,EAAMhtD,oBAAqB4I,GAAGrJ,QAG1D,KAAM,IAAI4L,OAAM,qDAFhB8hD,GAASD,EAIX,IAAK5vC,EACH,KAAM,IAAI1V,WAAU,gCAEtB,IAAM5H,GAAS,GAAImtD,EAGnB,OAFAntD,GAAOsd,GAAKA,EACZtd,EAAO0c,SAAWotC,EACX9pD,GAST8I,EAAGrJ,OAAO2tD,WAAa,SAAS/V,GAAuB,GAAd71C,GAAc,yDACrD,KAAK61C,GAA8B,IAAnBA,EAAQ91C,OACtB,MAAO,WAAQiJ,SAEjB,IAAM6iD,GAA6BjlD,EAAEklD,QAAQjW,EAAS,SAAAr3C,GAAM,OAC1D,cACE8M,UAAW9M,EAAO8M,UAClBygD,MAAOvtD,EAAOgnD,WAGZwG,GACJ5F,UAAU,aAAAx/C,GAAC,KAADA,EAAMilD,EAA4B,SAAAhW,GAAW,MAC/CoW,GAAM,aAAArlD,GAAC,KAADA,EAAMivC,EAAS,MAAMjpC,KAAK,IACtC,QACElH,OAAQ,SACRrG,MAAM,EAAF,oCAAkBw2C,EAAQ,GAAGvqC,UAA7B,aAA0C2gD,GAC9CD,KAAMnW,EAAQ,GAAG2P,UAIvB,OAAOp6C,GAAS,QAAS,KAAM,KAAM,OAAQ4gD,EAAMhsD,GAASiJ,KAC1D,SAAA2B,GACE,GAAMw6C,IAAa,aAAAx+C,GAAC,KAADA,EAAOgE,EAAU,SAAA4I,GAAM,OAAKA,EAAOsoC,SACtD,IAAIsJ,EACF,KAAM,IAAI79C,GAAQ69C,EAAWtjD,MAAM2I,KAAM26C,EAAWtjD,MAAMA,UAWlEwF,EAAGrJ,OAAO85C,aAAe,SAASzsC,GAChC,IAAK1E,EAAEoT,SAAS1O,GACd,KAAM,IAAIzB,OAAM,qDAElB,IAAIqiD,GAAc5kD,EAAGrJ,OAAOkuD,UAAU7gD,EAKtC,OAJK4gD,KACHA,EAAc5kD,EAAGrJ,OAAOoJ,OAAOiE,GAC/BhE,EAAGrJ,OAAOkuD,UAAU7gD,GAAa4gD,GAE5BA,GAOT5kD,EAAGrJ,OAAOoe,QAAU,SAAS/Q,EAAW+R,EAAYrd,GAElD,MAAO,KADWsH,EAAGrJ,OAAO85C,aAAazsC,IAClB+R,EAAYrd,IAKrCsH,EAAGrJ,OAAOkuD,aAEV7kD,EAAGrJ,OAAO2c,QAAUtT,EAAGsT,QAgBvBtT,EAAGrJ,OAAH,IAAmB,SAASof,EAAYrd,GACtC,MAAO,IAAIsH,GAAGrJ,OAAOof,EAAYrd,IAyBnCsH,EAAGrJ,OAAOoJ,OAAS,SAASiE,EAAW8B,EAAYyN,GAEjD,IAAKjU,EAAEoT,SAAS1O,GAAY,CAC1B,GAAIA,GAAa1E,EAAEgJ,IAAItE,EAAW,aAChC,MAAOhE,GAAGrJ,OAAOoJ,OAAOiE,EAAUA,UAAWA,EAAW8B,EAExD,MAAM,IAAIvD,OACR,8DAMY,SAAdyB,IACFA,EAAY,QAGd,IAAI8gD,GAAiB,IACrB,IAAIxlD,EAAEgJ,IAAItI,EAAGrJ,OAAOkuD,UAAW7gD,GAAY,CACzC,GAAI+gD,GAAiB/kD,EAAGrJ,OAAOkuD,UAAU7gD,EAIzC,KAAI8B,IAAcyN,EAGhB,MAAOwxC,EAFPD,GAAiBC,EAAezxC,QAAQxN,EAAYyN,OAKtDzN,GAAaA,MACbA,EAAWk/C,WAAahhD,EACxB8gD,EAAiBjvD,KAAKyd,QAAQxN,EAAYyN,EAoB5C,OAjBAuxC,GAAe/kD,OAAS,SAASklD,GAAM,KACrC,IAAI3lD,EAAEoT,SAASuyC,IAAUA,GAAQ3lD,EAAEgJ,IAAI28C,EAAM,aAC3C,MAAOjlD,GAAGrJ,OAAOoJ,OAAOtI,MAAMqtD,EAAgBtsD,UAEhD,IAAI0sD,IAAe,gBAAClhD,IAAD,OAAmB1E,EAAE8hC,QAAQ5oC,WAChD,OAAOwH,GAAGrJ,OAAOoJ,OAAOtI,MAAMqtD,EAAgBI,KAGhD,aACEJ,EACA,SACA,aAAgC9kD,EAAGrJ,OAAQ,UAE7CmuD,EAAc,IAAU,SAAS/uC,EAAYrd,GAC3C,MAAO,IAAIosD,GAAe/uC,EAAYrd,IAExCsH,EAAGrJ,OAAOkuD,UAAU7gD,GAAa8gD,EAC1BA,IAIT,aAAsB9kD,EAAGrJ,OAAOS,UAAW,aACzCL,IAAK,WACH,GAAMiN,GACJnO,KAAKmvD,YACLnvD,KAAKoQ,YAAYk/C,cACjBtvD,KAAKoQ,YAAYzP,IAEnB,OAAkB,SAAdwN,EACK,QAEFA,KAcXhE,EAAGrJ,OAAOyuD,SAAW,SAAChB,EAAO5tD,GAC3B,KAAM4tD,EAAMhtD,oBAAqB4I,GAAGrJ,QAClC,KAAM,IAAI4L,OAAM,kDAElB,IAAMyB,GAAYxN,GAAQ4tD,EAAM5tD,IAChC,KAAKwN,EAAUvL,OACb,KAAM,IAAI8J,OAAM,iCAEd/L,KACF4tD,EAAMe,aAAe3uD,GAEvBwJ,EAAGrJ,OAAOkuD,UAAU7gD,GAAaogD,IAcnC,aAAsBpkD,EAAGrJ,OAAQ,SAC/BI,IADwC,WAEtC,MAAO,IAAIiJ,GAAGmwC,MAAMt6C,KAAKuB,UAAU4M,cAIvChE,EAAGrJ,OAAOksD,qBAAuB,SAAStU,EAAS8W,EAAUC,GAC3DtlD,EAAG6V,UAAU04B,EAAS,SAASr3C,GAC7B,MAAIA,aAAkB8I,GAAGrJ,YACnBO,EAAO6nD,SACTsG,EAASzpD,KAAK1E,IAKdA,YAAkB8I,GAAGuU,UAClBrd,EAAOsd,IACV8wC,EAAM1pD,KAAK1E,QAFf,MASJ8I,EAAGrJ,OAAO4rD,wBAA0B,SAASrrD,GAC3C,GAAIquD,IAAyB,CAkB7B,OAhBIruD,aAAkB8I,GAAGrJ,QAAUO,YAAkB8I,GAAGuU,KACtDgxC,IAA2BruD,EAAOsd,GACzBlV,EAAElD,QAAQlF,GACnB8I,EAAG4V,WAAW1e,EAAQ,SAAS8O,GACxBhG,EAAGrJ,OAAO4rD,wBAAwBv8C,KACrCu/C,GAAyB,KAGpBjmD,EAAEZ,SAASxH,IACpB8I,EAAGkW,YAAYhf,EAAQ,SAAS8O,GACzBhG,EAAGrJ,OAAO4rD,wBAAwBv8C,KACrCu/C,GAAyB,KAKxBA,GAGTvlD,EAAGrJ,OAAOioD,eAAiB,SAAS1nD,EAAQ6oD,EAAOrnD,GACjD,GAAIiqD,MACAC,IACJ5iD,GAAGrJ,OAAOksD,qBAAqB3rD,EAAQyrD,EAAiBC,GAExDA,EAAetjD,EAAEiuB,KAAKq1B,EAEtB,IAAIp2C,GAAU,UAAQ9K,SACtBpC,GAAEsN,KAAKg2C,EAAc,SAASttC,GAC5B9I,EAAUA,EAAQ7K,KAAK,WACrB,MAAO2T,GAAKuC,UAIhB,IAAI02B,GAAUjvC,EAAEiuB,KAAKo1B,GACjBloB,EAAYn7B,EAAEiuB,KAAKghB,EAEvB,OAAO/hC,GACJ7K,KAAK,WACJ,MAAOqF,GACL,WACE,MAAOyzB,GAAUhiC,OAAS,GAE5B,WAEE,GAAI+sD,MACAC,IAWJ,IAVAzlD,EAAG4V,WAAW6kB,EAAW,SAASvjC,GAC5BA,EAAOorD,mBACTkD,EAAM5pD,KAAK1E,GAEXuuD,EAAa7pD,KAAK1E,KAGtBujC,EAAYgrB,EAGS,IAAjBD,EAAM/sD,OACR,MAAO,WAAQ8T,OACb,GAAItM,GACFA,EAAQuI,YACR,uCAMN,IAAIk9C,GAAe,UAAQhkD,SACzB,aAAApC,GAAC,KAADA,EAAMkmD,EAAO,SAAStuD,GACpB,MAAOA,GAAO4rD,mBAAqB,UAAQphD,aAKzCikD,EAAkBD,EAAa/jD,KAAK,iBACxCmC,GACE,QACA,KACA,KACA,QAEEg7C,UAAU,aAAAx/C,GAAC,KAADA,EAAMkmD,EAAO,SAAStuD,GAC9B,GAAIkH,GAASlH,EAAOsd,GAAK,MAAQ,OAE7B64B,EAAOn2C,EAAOmrD,cAElB/iD,GAAES,OAAOstC,EAAMn2C,EAAOgnD,OAEtB,IACIl6C,GAAY9M,EAAO8M,UACnBjM,EAAO,IAAH,OAFI,UAEJ,YAAgBiM,EACC,WAArB9M,EAAO8M,WAA0B9M,EAAOsd,KAE1Czc,EAAO,SAGT,IAAIA,GAAO,OAAH,OAAUA,EAOlB,OANIb,GAAOsd,KACTzc,EAAOA,EAAO,IAAMb,EAAOsd,IAG7Btd,EAAO+oD,cAGL7hD,OAAQA,EACRrG,KAAMA,EACN2sD,KAAMrX,EACNuY,OACEltD,GAAWA,EAAQwmD,eACbA,eAAe,OACjBhhD,OAIZxF,GACAiJ,KAAK,SAAS2B,GACd,GAAMiO,IAAU,aAAAjS,GAAC,KAADA,EAAMkmD,EAAO,SAAStuD,EAAQjB,GAC5C,MAAIqN,GAASrN,GAAGu+C,SACdt9C,EAAOspD,YAAYtpD,EAAOsM,MAAMF,EAASrN,GAAGu+C,UACrCt9C,IAETA,EAAOgpD,cACA,GAAIjgD,GACTqD,EAASrN,GAAGuE,MAAM2I,KAClBG,EAASrN,GAAGuE,MAAMA,SAGtB,OAAOqjD,GAAmBtsC,MAM9B,OAHAvR,GAAG4V,WAAW4vC,EAAO,SAAStuD,GAC5BA,EAAO4rD,kBAAoB6C,IAEtBA,MAIZhkD,KAAK,WACJ,MAAOzK,QrfsuhBT,SAAUzB,EAAQD,EAASM,Gsfz8kBjC,QAAS+vD,GAAerP,EAAKvgD,GAC3B,MAAO6vD,GAAetP,IAAQuP,EAAqBvP,EAAKvgD,IAAM+vD,EAA2BxP,EAAKvgD,IAAMgwD,IATtG,GAAIH,GAAiB,EAAQ,KAEzBC,EAAuB,EAAQ,KAE/BC,EAA6B,EAAQ,KAErCC,EAAkB,EAAQ,IAM9BxwD,GAAOD,QAAUqwD,EAAgBpwD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,Stfu9kBhG,SAAUC,EAAQD,EAASM,Gufj+kBjC,QAASowD,GAAgB1P,GACvB,GAAI2P,EAAe3P,GAAM,MAAOA,GAHlC,GAAI2P,GAAiB,EAAQ,IAM7B1wD,GAAOD,QAAU0wD,EAAiBzwD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,Svfy+kBjG,SAAUC,EAAQD,EAASM,Gwf/+kBjCL,EAAOD,QAAU,EAAQ,Mxfq/kBnB,SAAUC,EAAQD,EAASM,Gyfr/kBjCL,EAAOD,QAAU,EAAQ,Mzf4/kBnB,SAAUC,EAAQD,EAASM,G0f5/kBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G1fmglBX,SAAUpQ,EAAQD,EAASM,G2frglBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G3f4glBX,SAAUpQ,EAAQD,EAASM,G4f9glBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G5fqhlBX,SAAUpQ,EAAQD,EAASM,G6fvhlBjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,GAEnBtC,GAAOD,QAAUuC,EAAK0D,MAAMW,S7f8hlBtB,SAAU3G,EAAQD,EAASM,G8fjilBzB,EAAQ,IAKZwD,OAAQ,QAASG,MAAM,IACzB2C,QALY,EAAQ,O9f8ilBhB,SAAU3G,EAAQD,EAASM,G+f3ilBjC,QAASswD,GAAsB5P,EAAKvgD,GAClC,GAAIowD,GAAY,MAAP7P,EAAc,SAA0B,KAAZ1yB,GAA2B8xB,EAAmBY,IAAQA,EAAI,aAE/F,IAAU,MAAN6P,EAAJ,CACA,GAIIC,GAAIxQ,EAJJyQ,KACAC,GAAK,EACLC,GAAK,CAIT,KACE,IAAKJ,EAAKA,EAAGjwD,KAAKogD,KAAQgQ,GAAMF,EAAKD,EAAGpsC,QAAQ/J,QAC9Cq2C,EAAK3qD,KAAK0qD,EAAGtsD,QAET/D,GAAKswD,EAAK9tD,SAAWxC,GAH4BuwD,GAAK,IAK5D,MAAO3iD,GACP4iD,GAAK,EACL3Q,EAAKjyC,EACL,QACA,IACO2iD,GAAsB,MAAhBH,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAII,EAAI,KAAM3Q,IAIlB,MAAOyQ,IA/BT,GAAIziC,GAAU,EAAQ,KAElB8xB,EAAqB,EAAQ,IAgCjCngD,GAAOD,QAAU4wD,EAAuB3wD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,S/fqjlBvG,SAAUC,EAAQD,EAASM,GggBjllBjC,QAAS+/C,GAA4Bn/C,EAAGy/C,GACtC,GAAI4D,EAEJ,IAAKrjD,EAAL,CACA,GAAiB,gBAANA,GAAgB,MAAOgwD,GAAiBhwD,EAAGy/C,EAEtD,IAAIn/C,GAAI2vD,EAAuB5M,EAAWpjD,OAAOS,UAAU0E,SAAS1F,KAAKM,IAAIN,KAAK2jD,EAAU,GAAI,EAGhG,OADU,WAAN/iD,GAAkBN,EAAEuP,cAAajP,EAAIN,EAAEuP,YAAYzP,MAC7C,QAANQ,GAAqB,QAANA,EAAoBu/C,EAAY7/C,GACzC,cAANM,GAAqB,2CAA2CgiB,KAAKhiB,GAAW0vD,EAAiBhwD,EAAGy/C,OAAxG,IAhBF,GAAIwQ,GAAyB,EAAQ,KAEjCpQ,EAAc,EAAQ,KAEtBmQ,EAAmB,EAAQ,IAe/BjxD,GAAOD,QAAUqgD,EAA6BpgD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,ShgB6llB7G,SAAUC,EAAQD,EAASM,GigBhnlBjCL,EAAOD,QAAU,EAAQ,MjgBsnlBnB,SAAUC,EAAQD,EAASM,GkgBtnlBjCL,EAAOD,QAAU,EAAQ,MlgB6nlBnB,SAAUC,EAAQD,EAASM,GmgB7nlBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GngBoolBX,SAAUpQ,EAAQD,EAASM,GogBtolBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GpgB6olBX,SAAUpQ,EAAQD,EAASM,GqgB/olBjCL,EAAOD,QAAU,EAAQ,MrgBqplBnB,SAAUC,EAAQD,EAASM,GsgBrplBjCL,EAAOD,QAAU,EAAQ,MtgB4plBnB,SAAUC,EAAQD,EAASM,GugB5plBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GvgBmqlBX,SAAUpQ,EAAQD,EAASM,GwgBrqlBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GxgB4qlBX,SAAUpQ,EAAQD,GygB9qlBxB,QAAS6gD,GAAkBG,EAAKnlC,IACnB,MAAPA,GAAeA,EAAMmlC,EAAI/9C,UAAQ4Y,EAAMmlC,EAAI/9C,OAE/C,KAAK,GAAIxC,GAAI,EAAGwgD,EAAO,GAAIh7C,OAAM4V,GAAMpb,EAAIob,EAAKpb,IAC9CwgD,EAAKxgD,GAAKugD,EAAIvgD,EAGhB,OAAOwgD,GAGThhD,EAAOD,QAAU6gD,EAAmB5gD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,SzgBorlBnG,SAAUC,EAAQD,G0gB9rlBxB,QAASoxD,KACP,KAAM,IAAI9nD,WAAU,6IAGtBrJ,EAAOD,QAAUoxD,EAAkBnxD,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,S1gBoslBlG,SAAUC,EAAQD,EAASM,G2gBxslBjCL,EAAOD,QAAU,EAAQ,M3gB8slBnB,SAAUC,EAAQD,EAASM,G4gB9slBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G5gBqtlBX,SAAUpQ,EAAQD,EAASM,G6gBvtlBjC,EAAQ,IACR,IAAIiC,GAAO,EAAQ,IAEfpB,EAASoB,EAAKpB,OAEdiB,EAA2BnC,EAAOD,QAAU,SAAkCgI,EAAIzE,GACpF,MAAOpC,GAAOiB,yBAAyB4F,EAAIzE,GAGzCpC,GAAOiB,yBAAyBsC,OAAMtC,EAAyBsC,MAAO,I7gB8tlBpE,SAAUzE,EAAQD,EAASM,G8gBvulBjC,GAAIovB,GAAI,EAAQ,GACZzmB,EAAQ,EAAQ,GAChB4Q,EAAkB,EAAQ,IAC1Bm4B,EAAiC,EAAQ,IAAmD3vC,EAC5FwP,EAAc,EAAQ,IAEtBw/C,EAAsBpoD,EAAM,WAAc+oC,EAA+B,IAK7EtiB,IAAI5rB,OAAQ,SAAUG,MAAM,EAAMK,QAJpBuN,GAAew/C,EAIqB3sD,MAAOmN,IACvDzP,yBAA0B,SAAkC4F,EAAIzE,GAC9D,MAAOyuC,GAA+Bn4B,EAAgB7R,GAAKzE,O9gBgvlBzD,SAAUtD,EAAQD,EAASM,GAEjC,Y+gB/vlBA,IAAMwJ,GAAIO,EAAQ,GACZI,EAAUJ,EAAQ,GAExBpK,GAAOD,QAAU,SAASwK,GACxBA,EAAGgsC,KAAOhsC,EAAGrJ,OAAOoJ,OAClB,SAmBEkG,YAAa,SAASzP,EAAMw8C,GAO1B,GANI1zC,EAAEoT,SAASlc,IACbwJ,EAAGrJ,OAAOS,UAAU6O,YAAY7P,KAAKP,KAAM,KAAM,MACjDA,KAAKixD,QAAQtwD,IAEbwJ,EAAGrJ,OAAOS,UAAU6O,YAAY7P,KAAKP,KAAMW,EAAMw8C,GAE/CA,EAAK,CACP,KAAMA,YAAehzC,GAAG+T,KACtB,KAAM,IAAIjV,WAAU,oCAEpBjJ,MAAKk9C,OAAOC,KAUlB/G,QAAS,WACP,MAAOp2C,MAAKkB,IAAI,SAiBlB+vD,QAAS,SAAStwD,EAAMkC,GACtB,MAAO7C,MAAK+Z,IAAI,OAAQpZ,EAAMkC,IAchCquD,SAAU,WACR,MAAOlxD,MAAKuf,SAAS,UAcvB4xC,SAAU,WACR,MAAOnxD,MAAKuf,SAAS,UAMvB0uC,SAAU,SAASxlC,EAAO5lB,GACxB,GAAI,QAAU4lB,IAASA,EAAM9nB,OAASX,KAAKo2C,UAAW,CACpD,GAAIgb,GAAU3oC,EAAM9nB,IACpB,IAAIX,KAAK2e,IAAM3e,KAAK2e,KAAO8J,EAAMra,SAI/B,MAAO,IAAIhE,GACTA,EAAQuI,YACR,0DAGJ,KAAKlJ,EAAEoT,SAASu0C,GACd,MAAO,IAAIhnD,GACTA,EAAQuI,YACR,kCAGJ,KAAK,qBAAqBwQ,KAAKiuC,GAC7B,MAAO,IAAIhnD,GACTA,EAAQuI,YACR,6EAKN,QAAIxI,EAAGrJ,OAAOS,UAAU0sD,UACf9jD,EAAGrJ,OAAOS,UAAU0sD,SAAS1tD,KAAKP,KAAMyoB,EAAO5lB,Q/gBwwlB1D,SAAUjD,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7CoxD,EAAmB9sD,EAAuBtE,EAAoB,MAE9D8J,EAAWxF,EAAuBtE,EAAoB,KAEtD2b,EAAOrX,EAAuBtE,EAAoB,KAElDi3C,EAAQ3yC,EAAuBtE,EAAoB,MAEnD4b,EAAatX,EAAuBtE,EAAoB,KghBt5lBtDwJ,EAAIO,EAAQ,GACZgS,EAAOhS,EAAQ,KACfI,EAAUJ,EAAQ,IACxB,EAAyCA,EAAQ,IAA/BkxC,EAAlB,EAAQjtC,SAAqBrB,EAA7B,EAA6BA,QAC7B,EAAuB5C,EAAQ,IAAvB8Y,EAAR,EAAQA,WAKFwuC,EAA6B,cAACC,GAAD,uDAA0B,QAA1B,OAAuC,UACxEC,EACAC,GAEG,oEADDC,sBACC,OADiBH,EACjB,MADyCI,oBACzC,SACH,IAAuB,gBAAZF,GACT,KAAM,IAAIrnD,GAAQA,EAAQuI,YAAa,0BACzC,IAA+B,gBAApB++C,GACT,KAAM,IAAItnD,GAAQA,EAAQuI,YAAa,kCAEzC,OAAOlJ,GAAES,UAAWsnD,GAClBI,SAAUF,EACVG,QAASJ,EACTK,aAAcxoC,QAAQqoC,MAI1B/xD,GAAOD,QAAU,SAASwK,GAUxBA,EAAG8B,KAAO9B,EAAGrJ,OAAOoJ,OAClB,SAGE6nD,gBAAgB,EAQhB7J,kBAAmB,SAASz/B,GAK1B,MAJIA,GAAM1c,eACR/L,KAAKoM,cAAgBqc,EAAM1c,mBACpB0c,GAAM1c,cAER5B,EAAG8B,KAAKoE,UAAU63C,kBAAkB3nD,KAAKP,KAAMyoB,IAQxDupC,iBAAkB,WAChB,GAAKhyD,KAAKiyD,YAAV,CAGA,GAAIT,GAAWxxD,KAAKkB,IAAI,WACnBswD,IAGLrnD,EAAGkW,YAAYrgB,KAAKkB,IAAI,YAAa,SAASiD,EAAOjB,GAC9CsuD,EAAStuD,UACLsuD,GAAStuD,OAStBgvD,wBAAyB,WAEvB,GADelyD,KAAKkB,IAAI,YACxB,CAIA,GAAInB,GAAOC,IACXmK,GAAGkW,YAAYrgB,KAAKkB,IAAI,YAAa,SAASiD,EAAOjB,GACnDnD,EAAKoyD,qBAAqBjvD,OAS9BivD,qBAAsB,SAAS1T,GAC7B,GAAKz+C,KAAKiyD,YAAV,CAGA,GAAIG,EACA3oD,GAAEoT,SAAS4hC,IACb2T,EAAW3T,EACXA,EAAWt0C,EAAG8B,KAAKomD,eAAeD,IAElCA,EAAW3T,EAAS6T,aAEtB,IAAId,GAAWxxD,KAAKkB,IAAI,WACxB,IAAKswD,GAAa/S,EAAlB,CAGcA,EAAS8T,sBAAsBf,EAASY,KAEpDpyD,KAAKwyD,mBAAmB/T,MAI5BgU,kBAAmB,SAASC,GAW1B,MATIA,KAAgBvoD,EAAGkB,QAAQW,qBAC7BhM,KAAK+xD,gBAAiB,GAExB/xD,KAAKgyD,mBACLhyD,KAAKkyD,gCAEElyD,MAAKmoD,YAAYwK,SACxB3yD,KAAKwrD,4BAA4B,YACjCxrD,KAAK4pD,iBAEF8I,IAAe1yD,KAAKiyD,aACpB9nD,EAAGkB,QAAQW,mBAOL,UAAQH,UAFR,UAAQA,QAAQ1B,EAAG8B,KAAK2mD,iBAAiB5yD,QAWpD6yD,UAAW,SAASpU,EAAU3xC,GAAuC,GAC/DslD,GAD+D,uEAA/BjF,qBAA+B,SAQnE,OANI1jD,GAAEoT,SAAS4hC,IACb2T,EAAW3T,EACXA,EAAWt0C,EAAG8B,KAAKomD,eAAe5T,IAElC2T,EAAW3T,EAAS6T,cAElBxlD,EACK9M,KAAKgiB,MACRwvC,UAAU,EAAF,cAAKY,EAAWtlD,KAExBu8C,gBAAiBrpD,KAAKkB,IAAI,YAC1BgsD,gBAAiBC,IAEnBrhD,KAAK,SAASo+C,GACd,MAAOA,GAAMuI,mBAAkB,GAAM3mD,KAAK,WACxC,MAAOo+C,OAIJzL,EACJqU,eACAhnD,KAAK,SAAAuK,GAAM,MAAI,GAAKw8C,UAAUpU,EAAUpoC,MAoB/C08C,sBAxJ8B,SAwJRvB,EAAUI,GAC9B,MAAO5xD,MAAK6yD,UAAUjB,EAAUJ,IA0BlCwB,gCAnL8B,SAoL5BxB,EACAI,EACAH,EACAwB,GAEA,MAAOjzD,MAAK6yD,UACVjB,EACAN,IAA6BE,EAAUC,EAASwB,KAYpDC,qBAvM8B,SAuMTC,EAAUC,GAAQ,UACrC,QAAiB/qD,KAAb8qD,EAAwB,CAE1B,MADoBrwC,GAAW,iBACVhX,KAAK,SAAAqnD,GAAQ,MAChC,GAAKN,UAAUM,EAAS1U,SAAU0U,EAAS3B,SAAU4B,KAGzD,MAAOpzD,MAAK6yD,UAAUM,EAAS1U,SAAU0U,EAAS3B,SAAU4B,IAe9DC,mBA7N8B,WAiOtB,2EAHNC,oBAGM,cAFN5B,sBAEM,OAFY,KAEZ,MADNC,oBACM,SAEN,OADoB7uC,GAAW,gBAE7BwwC,gBACA3B,gBACAC,SAAUF,IACT5lD,KAAK,SAAAqnD,GAEN,MADAA,GAAS1U,SAvQI,WAwQN,EAAKyU,qBAAqBC,MAgBrCI,mBAzP8B,WA6PtB,2EAHND,oBAGM,cAFN5B,sBAEM,OAFY,SAEZ,MADNC,oBACM,SAEN,OADoB7uC,GAAW,gBAE7BwwC,gBACA3B,gBACAC,SAAUF,IACT5lD,KAAK,SAAAqnD,GAAQ,MAAI,GAAKD,qBAAqBC,MAOhDK,cA1Q8B,SA0QhB3wD,GAIZ,MAHA0I,SAAQC,KACN,qEAEKxL,KAAKuzD,mBAAmB1wD,IAejC4wD,8BA7R8B,SA8R5BhC,GAEA,2EADEC,sBACF,OADoB,KACpB,MAD0BC,oBAC1B,SAEA,OADoB7uC,GAAW,gBACV8uC,SAAUF,IAAmB5lD,KAAK,SAAAqnD,GAGrD,MAFAA,GAAWhpD,EAAG8B,KAAKynD,aAAaP,EAAU1B,GAAWE,kBACrDwB,EAAS1U,SAnUI,WAoUN,EAAKyU,qBAAqBC,MAgBrCQ,8BArT8B,SAsT5BlC,GAEA,2EADEC,sBACF,OADoB,SACpB,MAD8BC,oBAC9B,SAEA,OADoB7uC,GAAW,gBACV8uC,SAAUF,IAAmB5lD,KAAK,SAAAqnD,GAErD,MADAA,GAAWhpD,EAAG8B,KAAKynD,aAAaP,EAAU1B,GAAWE,kBAC9C,EAAKuB,qBAAqBC,MAUrCX,mBAtU8B,SAsUX/T,GAEjB,MADAz+C,MAAK2rD,MAAL,mBAAuBlN,IAChBz+C,KAAKgiB,OAAOlW,KAAK,SAAAo+C,GAAK,MAC3BA,GAAMuI,mBAAkB,GAAM3mD,KAAK,iBAAMo+C,QAQ7C0J,YAjV8B,SAiVlBnV,GAIV,MAHAlzC,SAAQC,KACN,mEAEKxL,KAAKwyD,mBAAmB/T,IAOjCoV,UAAW,SAASpV,GAClB,GAAI2T,EAOJ,OALEA,GADE3oD,EAAEoT,SAAS4hC,GACFA,EAEAA,EAAS6T,iBAEPtyD,KAAKkB,IAAI,iBACNkxD,IAQpB0B,YA5W8B,WA6W5B,MAAO9zD,MAAK6zD,UA7YO,cAgZrBE,OAAQ,WACN/zD,KAAKg0D,iBACLh0D,KAAK+xD,gBAAiB,GAOxBiC,eAAgB,WAEd,GADeh0D,KAAKkB,IAAI,YACxB,CAGA,GAAInB,GAAOC,IACXmK,GAAGkW,YAAYrgB,KAAKkB,IAAI,YAAa,SAASiD,EAAOjB,GACnDnD,EAAKk0D,YAAY/wD,OASrB+wD,YAAa,SAASxV,GACfz+C,KAAKiyD,cAGNxoD,EAAEoT,SAAS4hC,KACbA,EAAWt0C,EAAG8B,KAAKomD,eAAe5T,IAEhCA,GAAYA,EAASyV,gBACvBzV,EAASyV,mBAkBbC,OAAQ,SAAS1rC,EAAO5lB,GACtB,GAEIuxD,GAAY3rC,GAASA,EAAM2rC,UAAap0D,KAAKkB,IAAI,WACrD,KAAKkzD,GAAyB,KAAbA,EAKf,KAJQ,IAAIhqD,GACVA,EAAQuI,YACR,0CAKJ,IAAIggD,GAAYlqC,GAASA,EAAMkqC,UAAa3yD,KAAKkB,IAAI,WACrD,KAAKyxD,GAAyB,KAAbA,EAKf,KAJQ,IAAIvoD,GACVA,EAAQuI,YACR,8CAKJ,OAAO3S,MAAKgiB,KAAKyG,EAAO5lB,GAASiJ,KAAK,SAASo+C,GAK7C,MAJIA,GAAM4J,gBACR5J,EAAMyB,MAAN,mBA1de,cA2dfzB,EAAM9B,kBAED8B,EAAMuI,mBAAkB,GAAM3mD,KAAK,WACxC,MAAOo+C,QAqBbmK,6BAA8B,SAAS5rC,GAAqB,GAAd5lB,GAAc,0DAGtDyxD,EACD7rC,GAASA,EAAM6rC,mBAAsBt0D,KAAKkB,IAAI,oBACjD,KAAKozD,GAA2C,KAAtBA,EAMxB,KALQ,IAAIlqD,GACVA,EAAQuI,YACR,qFAMJ,IAAI4hD,GAAW9rC,GAASA,EAAM8rC,SAAYv0D,KAAKkB,IAAI,UACnD,KAAKqzD,GAAuB,KAAZA,EAMd,KALQ,IAAInqD,GACVA,EAAQuI,YACR,4EASJ,OAHA9P,GAAQ0qD,aAAe,SAASr/C,EAAOC,EAAWwQ,EAAIpW,EAAQivC,GAC5D,MAAO0D,GAAU,qBAAsB,KAAM,KAAM,OAAQ1D,IAEtDx3C,KAAKgiB,KAAKyG,EAAO5lB,GAASiJ,KAAK,SAASo+C,GAG7C,aAFOA,GAAMhqC,WAAWq0C,cACjBrK,GAAM/B,YAAYoM,QAClBrK,EAAMuI,mBAAkB,GAAM3mD,KAAK,WACxC,MAAOo+C,QASbsK,kBA3f8B,SA2fZhD,EAAUI,EAAU/uD,GACpC,MAAO7C,MAAK6yD,UAAUjB,EAAUJ,EAAU3uD,IAO5C4xD,4BAngB8B,SAogB5BjD,EACAI,EACAH,EACAiD,GAEA,MAAO10D,MAAKw0D,kBACVlD,IAA6BE,EAAUC,EAASiD,GAChD9C,EACA8C,IAeJC,eA3hB8B,WAgiBtB,2EAJNrB,oBAIM,cAHN5B,sBAGM,OAHY,SAGZ,MAFNC,oBAEM,cADNxE,qBACM,SAEN,OADoBrqC,GAAW,gBAE7BwwC,gBACA3B,gBACAC,SAAUF,IACT5lD,KAAK,SAAAqnD,GAAQ,MACd,GAAKyB,iBAAiBzB,GAAYhG,sBAStC0H,0BAhjB8B,SAijB5BpD,GAMA,2EAJEC,sBAIF,OAJoB,SAIpB,MAHEC,oBAGF,cAFExE,qBAEF,SAEA,OADoBrqC,GAAW,gBACV8uC,SAAUF,IAAmB5lD,KAAK,SAAAqnD,GAErD,MADAA,GAAWhpD,EAAG8B,KAAKynD,aAAaP,EAAU1B,GAAWE,kBAC9C,EAAKiD,iBAAiBzB,GAAYhG,sBAc7C2H,eAzkB8B,WA8kBtB,2EAJNxB,oBAIM,cAHN5B,sBAGM,OAHY,KAGZ,MAFNC,oBAEM,cADNxE,qBACM,SAEN,OADoBrqC,GAAW,gBAE7BwwC,gBACA3B,gBACAC,SAAUF,IACT5lD,KAAK,SAAAqnD,GAEN,MADAA,GAAS1U,SApnBI,WAqnBN,EAAKmW,iBAAiBzB,GAAYhG,sBAS7C4H,0BA/lB8B,SAgmB5BtD,GAMA,2EAJEC,sBAIF,OAJoB,KAIpB,MAHEC,oBAGF,cAFExE,qBAEF,SAEA,OADoBrqC,GAAW,gBACV8uC,SAAUF,IAAmB5lD,KAAK,SAAAqnD,GAGrD,MAFAA,GAAWhpD,EAAG8B,KAAKynD,aAAaP,EAAU1B,GAAWE,kBACrDwB,EAAS1U,SAzoBI,WA0oBN,EAAKmW,iBAAiBzB,GAAYhG,sBAQ7CyH,iBAnnB8B,SAmnBbzB,EAAUC,GAAQ,UACjC,QAAiB/qD,KAAb8qD,EAAwB,CAE1B,MADoBrwC,GAAW,iBACVhX,KAAK,SAAAqnD,GAAQ,MAChC,GAAKqB,kBAAkBrB,EAAS3B,SAAU2B,EAAS1U,SAAU2U,KAGjE,MAAOpzD,MAAKw0D,kBACVrB,EAAS3B,SACT2B,EAAS1U,SACT2U,IAeJ4B,MAAO,WACL,GAAI9K,GAAQlqD,IAEZ,OADck7C,GAAU,QAAS,KAAM,KAAM,OAAQl7C,KAAK4J,UAC3CkC,KAAK,SAAS2hD,GAC3B,GAAIC,GAAcxD,EAAMv8C,MAAM8/C,EAE9B,OADAvD,GAAM9qC,aAAasuC,GACZxD,EAAMuI,mBAAkB,GAAM3mD,KAAK,WAExC,MADK4hD,GAAY6G,eAAgBrK,GAAMhqC,WAAN,QAC1BgqC,OAObloC,KAAM,SAAS8xB,EAAMC,EAAM6Y,GACzB,GAAInkC,GAAO5lB,CAWX,OAVI4G,GAAEZ,SAASirC,IAASrqC,EAAEyF,OAAO4kC,IAASrqC,EAAE0F,YAAY2kC,IACtDrrB,EAAQqrB,EACRjxC,EAAUkxC,IAEVtrB,KACAA,EAAMqrB,GAAQC,EACdlxC,EAAU+pD,GAEZ/pD,EAAUA,MAEHsH,EAAGrJ,OAAOS,UAAUygB,KACxBzhB,KAAKP,KAAMyoB,EAAO5lB,GAClBiJ,KAAK,SAASo+C,GACb,MAAOA,GAAMuI,mBAAkB,GAAO3mD,KAAK,WACzC,MAAOo+C,QAcf+K,OAAQ,SAASpyD,EAASqI,GACxB,IAAKlL,KAAK2e,GACR,KAAM,IAAIjS,OAAM,iBAElB,IAAIiD,GACAuQ,CACArd,GAAQ8M,MACVA,EAAO9M,EAAQ8M,KACfuQ,EAAard,EAAQqd,YAErBvQ,EAAO9M,CAET,IAAIqyD,GAAezrD,EAAEoT,SAASlN,GAAQA,EAAOA,EAAKgP,EAClD,KAAKu2C,EACH,KAAM,IAAIxoD,OAAM,uBAElB,IAAIwB,GAAQ,SAAWlO,KAAK2e,GAAK,eAAiBu2C,CASlD,OARcha,GACZhtC,EACA,KACA,KACA,OACA/D,EAAGwT,QAAQuC,GACXhV,IAYJiqD,SAAU,SAAStyD,EAASqI,GAC1B,IAAKlL,KAAK2e,GACR,KAAM,IAAIjS,OAAM,iBAElB,IAAIiD,EAEFA,GADE9M,EAAQ8M,KACH9M,EAAQ8M,KAER9M,CAET,IAAIqyD,GAAezrD,EAAEoT,SAASlN,GAAQA,EAAOA,EAAKgP,EAClD,KAAKu2C,EACH,KAAM,IAAIxoD,OAAM,uBAElB,IAAIwB,GAAQ,SAAWlO,KAAK2e,GAAK,eAAiBu2C,CAElD,OADcha,GAAUhtC,EAAO,KAAM,KAAM,SAAU,KAAMhD,IAY7DkqD,yBAA0B,SAASvyD,EAASqI,GAC1C,IAAKlL,KAAK2e,GACR,KAAM,IAAIjS,OAAM,iBAElB,OAAOE,IACLrE,OAAQ,MACRrG,KAAM,UAAF,OAAYlC,KAAK2e,GAAjB,0BACJ9R,OACEwoD,KAAMxyD,GAAWA,EAAQwyD,KACzBC,MAAOzyD,GAAWA,EAAQyyD,MAC1BhmD,QAAS,oBACT7I,KAAM,qBAERyE,gBACCY,KAAK,eAAGypD,GAAH,EAAGA,UAAWC,EAAd,EAAcA,SAAd,QACND,WAAW,aAAAA,GAAS,KAATA,EAAc,eAAGE,GAAH,EAAGA,QAAH,OAAkBtrD,GAAG4U,QAAQ02C,KACtDD,WAAW,aAAAA,GAAS,KAATA,EAAc,eAAGE,GAAH,EAAGA,QAAH,OAAkBvrD,GAAG4U,QAAQ22C,SAS1DC,cAAe,WACb,MAAOxrD,GAAG8B,KAAK0pD,cAAc31D,KAAK2e,KAQpCi3C,cAAe,WACb,MAAOzrD,GAAG8B,KAAK2pD,cAAc51D,KAAK2e,KAMpCigC,MAAO,SAASpvC,EAAc3M,GAC5B,MAAOsH,GAAGrJ,OAAOS,UAAUq9C,MACxBr+C,KAAKP,KAAMwP,EAAc3M,GACzBiJ,KAAK,SAASo+C,GACb,MAAOA,GAAMuI,mBAAkB,GAAO3mD,KAAK,WACzC,MAAOo+C,QAWf2L,eAAgB,SAASC,EAAaC,EAAalzD,GAAS,WACtDqL,EAAQ,SAAWlO,KAAK2e,GAAK,iBAMjC,OADcu8B,GAAUhtC,EAAO,KAAM,KAAM,OAHzC8nD,aAAcF,EACdG,aAAcF,GAE0ClzD,GAC3CiJ,KAAK,SAAA2hD,GAElB,MADA,GAAKruC,aAAa,EAAKzR,MAAM8/C,IACtB,EAAKgF,mBAAkB,GAAM3mD,KAAK,iBAAM2hD,QAQnDwE,UAAW,WACT,MAAOjyD,MAAK+xD,gBAQdmE,YAAa,WACX,MAAOl2D,MAAKkB,IAAI,aAQlBi1D,qBAAsB,WACpB,MAAOn2D,MAAKkB,IAAI,sBASlBk1D,qBAAsB,SAASC,EAAOxzD,GACpC,MAAO7C,MAAK+Z,IAAI,oBAAqBs8C,EAAOxzD,IAS9CyzD,YAAa,SAASlC,EAAUvxD,GAC9B,MAAO7C,MAAK+Z,IAAI,WAAYq6C,EAAUvxD,IASxC0zD,YAAa,SAAS5D,EAAU9vD,GAC9B,MAAO7C,MAAK+Z,IAAI,WAAY44C,EAAU9vD,IAQxC2zD,SAAU,WACR,MAAOx2D,MAAKkB,IAAI,UAUlBu1D,SAAU,SAASC,EAAO7zD,GACxB,MAAO7C,MAAK+Z,IAAI,QAAS28C,EAAO7zD,IASlC8zD,cAAe,WAIb,MAHAprD,SAAQC,KACN,+HAGExL,KAAKoM,gBACLjC,EAAGkB,QAAQW,oBACX7B,EAAG8B,KAAKiG,WACR/H,EAAG8B,KAAKiG,UAAUyM,KAAO3e,KAAK2e,IAUpCi4C,gBAj6B8B,WAi6BZ,UAChB,OAAO,WAAQ/qD,UAAUC,KACvB,mBACI,EAAKM,eACPjC,EAAG8B,KAAK4qD,yBAAyB,EAAKzqD,eAAeN,KACnD,kBAAM,GACN,SAAAnH,GACE,GAAmB,MAAfA,EAAM2I,KACR,OAAO,CAET,MAAM3I,QAUhB0F,gBAr7B8B,WAs7B5B,MAAOrK,MAAKoM,eASd0qD,oBA/7B8B,SA+7BVj0D,GAAS,UAC3B,OAAOq4C,GAAU,SAAD,OACLl7C,KAAK2e,GADA,wBAEd,KACA,KACA,MACA,KACA9b,GACAiJ,KAAK,SAAA2B,GAEL,MADA,GAAK2R,aAAa3R,GACX,EAAKglD,mBAAkB,GAAM3mD,KAAK,iBAAM,QAUnDqlD,SAn9B8B,SAm9BrBtuD,GAAS,KAChB,QAAO,eAAAsH,EAAGqU,SAAS27B,aAAa,QAAS,QAASn6C,OAA3C,OAAsD6C,MAO/Dk0D,aAAc,KAKdC,yBAAyB,EAGzBC,kBAAmB,cAGnB5E,kBAkBA8B,OAAQ,SAASC,EAAUzB,EAAUlqC,EAAO5lB,GAK1C,MAJA4lB,GAAQA,MACRA,EAAM2rC,SAAWA,EACjB3rC,EAAMkqC,SAAWA,EACNxoD,EAAGrJ,OAAOoe,QAAQ,SACjBi1C,OAAO1rC,EAAO5lB,IAc5BmyD,MAAO,SAASZ,EAAUzB,GACxB,GAAIhjD,GAAOxF,EAAGrJ,OAAOoe,QAAQ,QAE7B,OADAvP,GAAKyP,cAAeg1C,SAAUA,EAAUzB,SAAUA,IAC3ChjD,EAAKqlD,SAYdkC,OAAQ,SAASnrD,GACf,MAAO/L,MAAK62D,yBAAyB9qD,GAAcD,KAAK,SAAA6D,GAAI,MAC1DA,GAAK8iD,mBAAkB,GAAM3mD,KAAK,iBAAM6D,QAI5CknD,yBAA0B,SAAS9qD,GACjC,OAAqB1D,KAAjB0D,EACF,MAAO,WAAQ2K,OACb,GAAIhK,OAAM,wCAId,IAAIiD,GAAOxF,EAAGrJ,OAAOoe,QAAQ,QAC7B,OAAOtS,IACLrE,OAAQ,MACRrG,KAAM,YACNgJ,aACEa,kBAEDD,KAAK,SAAS2hD,GACf,GAAIC,GAAc/9C,EAAKhC,MAAM8/C,EAE7B,OADA99C,GAAKyP,aAAasuC,GACX/9C,KAgBXwnD,4BAA6B,SAASC,EAAa7C,GACjD,GAAI5kD,GAAOxF,EAAGrJ,OAAOoe,QAAQ,QAE7B,OADAvP,GAAKyP,cAAek1C,kBAAmB8C,EAAa7C,QAASA,IACtD5kD,EAAKqlD,SAiBdX,6BAA8B,SAC5BC,EACAC,EACA9rC,EACA5lB,GAMA,MAJA4lB,GAAQA,MACRA,EAAM6rC,kBAAoBA,EAC1B7rC,EAAM8rC,QAAUA,EACLpqD,EAAGrJ,OAAOoe,QAAQ,SACjBm1C,6BAA6B5rC,EAAO5lB,IAclDw0D,qBAAsB,SAASD,EAAazE,GAC1C,GAAIhjD,GAAOxF,EAAGrJ,OAAOoe,QAAQ,QAK7B,OAJAvP,GAAKyP,cACHk1C,kBAAmB8C,EACnBzE,SAAUA,IAELhjD,EAAKqlD,SAYdsC,eAxKoB,SAwKLZ,EAAO/D,GACpB,GAAMhjD,GAAOxF,EAAGrJ,OAAOoe,QAAQ,QAK/B,OAJAvP,GAAKyP,cACHs3C,QACA/D,aAEKhjD,EAAKqlD,SA0BdR,kBAxMoB,SAwMFhD,EAAUI,EAAU/uD,GACpC,MAAOsH,GAAG8B,KAAKsrD,WAAW3F,EAAUJ,EAAU3uD,IAMhD20D,0BA/MoB,WAmNlB,MAHAjsD,SAAQC,KACN,gFAEKxL,KAAKw0D,kBAAL,MAAAx0D,KAAA,YA2BTy0D,4BA9OoB,SA+OlBjD,EACAI,EACAH,EACAiD,GAEA,MAAO10D,MAAKw0D,kBACVlD,IAA6BE,EAAUC,EAASiD,GAChD9C,EACA8C,IAQJ+C,oCA/PoB,WAmQlB,MAHAlsD,SAAQC,KACN,oGAEKxL,KAAKy0D,4BAAL,MAAAz0D,KAAA,YAWT0zD,aA9QoB,SA8QPP,EAAU1B,GAAyC,oEAA9BE,oBAA8B,SAC9DwB,GAAWzlD,KAAKC,OAAM,aAAewlD,GACrC,OAA+BA,EAAvB3B,EAAR,EAAQA,SAAUI,EAAlB,EAAkBA,QAIlB,OAHAJ,GAASI,SAAWA,EACpBJ,EAASM,aAAeH,EACxBH,EAASK,QAAUJ,EACZ0B,GAgBTwB,eApSoB,WAySZ,2EAJNrB,oBAIM,cAHN5B,sBAGM,OAHY,SAGZ,MAFNC,oBAEM,cADNxE,qBACM,SAEN,OADoBrqC,GAAW,gBAE7BwwC,gBACA3B,gBACAC,SAAUF,IACT5lD,KAAK,SAAAqnD,GAAQ,MACd,GAAKyB,iBAAiBzB,GAAYhG,sBAetC0H,0BA/ToB,SAgUlBpD,GAMA,2EAJEC,sBAIF,OAJoB,SAIpB,MAHEC,oBAGF,cAFExE,qBAEF,SAEA,OADoBrqC,GAAW,gBACV8uC,SAAUF,IAAmB5lD,KAAK,SAAAqnD,GAErD,MADAA,GAAWhpD,EAAG8B,KAAKynD,aAAaP,EAAU1B,GAAWE,kBAC9C,EAAKiD,iBAAiBzB,GAAYhG,sBAiB7C2H,eA3VoB,WAgWZ,2EAJNxB,oBAIM,cAHN5B,sBAGM,OAHY,KAGZ,MAFNC,oBAEM,cADNxE,qBACM,SAEN,OADoBrqC,GAAW,gBAE7BwwC,gBACA3B,gBACAC,SAAUF,IACT5lD,KAAK,SAAAqnD,GAEN,MADAA,GAAS1U,SA71CI,WA81CN,EAAKmW,iBAAiBzB,GAAYhG,sBAgB7C4H,0BAxXoB,SAyXlBtD,GAMA,2EAJEC,sBAIF,OAJoB,KAIpB,MAHEC,oBAGF,cAFExE,qBAEF,SAEA,OADoBrqC,GAAW,gBACV8uC,SAAUF,IAAmB5lD,KAAK,SAAAqnD,GAGrD,MAFAA,GAAWhpD,EAAG8B,KAAKynD,aAAaP,EAAU1B,GAAWE,kBACrDwB,EAAS1U,SAz3CI,WA03CN,EAAKmW,iBAAiBzB,GAAYhG,sBAU7CyH,iBA9YoB,SA8YHzB,EAAUC,GAAQ,UACjC,QAAiB/qD,KAAb8qD,EAAwB,CAE1B,MADoBrwC,GAAW,iBACVhX,KAAK,SAAAqnD,GAAQ,MAChC,GAAKqB,kBAAkBrB,EAAS3B,SAAU2B,EAAS1U,SAAU2U,KAGjE,MAAOpzD,MAAKw0D,kBACVrB,EAAS3B,SACT2B,EAAS1U,SACT2U,IAOJsE,OA/ZoB,WAgalB,MAAO17C,MAST27C,iBAzaoB,WA0alB,MAAO33D,MAAKw0D,mBAER71C,GAAIxU,EAAG8B,KAAKyrD,UAEd,cAIJ3E,sBAlboB,SAkbE6E,EAAShG,EAAUJ,GAIvC,MAHAjmD,SAAQC,KACN,gFAEKosD,EAAQ/E,UAAUjB,EAAUJ,IAQrCuC,OAAQ,WACN,MAAI5pD,GAAGkB,QAAQW,oBACbT,QAAQC,KACN,iKAEK,UAAQK,QAAQ,QAGI,OAAzB1B,EAAG8B,KAAK8qD,eACV5sD,EAAG8B,KAAK8qD,aAAa/C,iBACrB7pD,EAAG8B,KAAK8qD,aAAahF,gBAAiB,GAExC5nD,EAAG8B,KAAK+qD,yBAA0B,EAClC7sD,EAAG8B,KAAK8qD,aAAe,KAChB5sD,EAAG8S,aACP8e,gBAAgB5xB,EAAGyS,WAAWzS,EAAG8B,KAAKgrD,oBACtCnrD,KAAK,iBAAM3B,GAAGkT,6BASnBs4C,cAAe,SAAST,GACtB,IAAKA,IAAiBzrD,EAAEoT,SAASq4C,GAC/B,KAAM,IAAIxoD,OAAM,0BAElB,IAAIG,GAAQ,GAAI1C,GAAG0tD,gBAAgB,YAMnC,OALAhrD,GAAMirD,eAAiB,WACvBjrD,EAAM0tC,QACJ,OACApwC,EAAGrJ,OAAO27C,kBAAkB,QAASyY,IAEhCroD,GAST+oD,cAAe,SAASV,GACtB,IAAKA,IAAiBzrD,EAAEoT,SAASq4C,GAC/B,KAAM,IAAIxoD,OAAM,0BAElB,IAAIG,GAAQ,GAAI1C,GAAG0tD,gBAAgB,YAMnC,OALAhrD,GAAMirD,eAAiB,WACvBjrD,EAAM0tC,QACJ,OACApwC,EAAGrJ,OAAO27C,kBAAkB,QAASyY,IAEhCroD,GAYTkrD,qBAAsB,SAASrB,GAS7B,MAPcxb,GACZ,uBACA,KACA,KACA,QALWwb,MAAOA,KAoBtBsB,mBAAoB,SAAStB,GAG3B,MADcxb,GAAU,qBAAsB,KAAM,KAAM,QAD7Cwb,MAAOA,KAetBuB,yBAA0B,SAAS3D,GAAiC,GAAdzxD,GAAc,0DAC5DiK,GACJwnD,oBAaF,OAXIzxD,GAAQq1D,gBACVprD,EAAKqrD,eAAiBt1D,EAAQq1D,eAElBhd,EACZ,2BACA,KACA,KACA,OACApuC,EACAjK,IAeJu1D,8BAA+B,SAAS9D,GAAiC,GAAdzxD,GAAc,0DACjEiK,GACJwnD,oBAaF,OAXIzxD,GAAQq1D,gBACVprD,EAAKqrD,eAAiBt1D,EAAQq1D,eAElBhd,EACZ,gCACA,KACA,KACA,OACApuC,EACAjK,IAeJw1D,yBA7lBoB,SA6lBK/D,EAAmBh4B,EAAKz5B,GAC/C,GAAMiK,IAASwnD,oBAOf,OANIh4B,KACFxvB,EAAKwvB,IAAMz5B,EAAQy5B,KAEjBz5B,GAAWA,EAAQq1D,gBACrBprD,EAAKqrD,eAAiBt1D,EAAQq1D,eAEzBhd,EACL,2BACA,KACA,KACA,OACApuC,EACAjK,IAYJy1D,kBAvnBoB,SAunBFhE,EAAmBhnD,GAEnC,MAAO4tC,GAAU,oBAAqB,KAAM,KAAM,QADnCoZ,oBAAmBhnD,UAYpCirD,uBAAwB,SAASjrD,EAAMqlD,GASrC,MAPczX,GACZ,yBACA,KACA5tC,EACA,OALWqlD,SAAUA,KAkBzB6F,kBAAmB,SAASlrD,GAE1B,MADc4tC,GAAU,oBAAqB,KAAM5tC,EAAM,OAAQ,OAcnEmrD,oBAAqB,SAASnE,GAAiC,GAAdzxD,GAAc,0DACvDiK,GACJwnD,oBAaF,OAXIzxD,GAAQq1D,gBACVprD,EAAKqrD,eAAiBt1D,EAAQq1D,eAElBhd,EACZ,sBACA,KACA,KACA,OACApuC,EACAjK,IAUJqJ,aAAc,WACZ,MAAI/B,GAAGkB,QAAQW,oBACbT,QAAQC,KACN,gKAEK,UAAQK,QAAQ,OAGrB1B,EAAG8B,KAAK8qD,aACH,UAAQlrD,QAAQ1B,EAAG8B,KAAK8qD,cAG7B5sD,EAAG8B,KAAK+qD,wBACH,UAAQnrD,QAAQ1B,EAAG8B,KAAK8qD,cAG1B5sD,EAAG8S,aACPC,aAAa/S,EAAGyS,WAAWzS,EAAG8B,KAAKgrD,oBACnCnrD,KAAK,SAAS4sD,GACb,IAAKA,EACH,MAAO,KAITvuD,GAAG8B,KAAK+qD,yBAA0B,EAElC7sD,EAAG8B,KAAK8qD,aAAe5sD,EAAGrJ,OAAOoe,QAAQ,SACzC/U,EAAG8B,KAAK8qD,aAAahF,gBAAiB,CAEtC,IAAIva,GAAO9pC,KAAKC,MAAM+qD,EAWtB,OAVAvuD,GAAG8B,KAAK8qD,aAAap4C,GAAK64B,EAAKmhB,UACxBnhB,GAAKmhB,IACZxuD,EAAG8B,KAAK8qD,aAAa3qD,cAAgBorC,EAAKprC,oBACnCorC,GAAKprC,cACZjC,EAAG8B,KAAK8qD,aAAa33C,aAAao4B,GAGlCrtC,EAAG8B,KAAK8qD,aAAa7E,0BACrB/nD,EAAG8B,KAAK8qD,aAAanN,gBACrBz/C,EAAG8B,KAAK8qD,aAAa3O,iBACdj+C,EAAG8B,KAAK8qD,gBASrB7kD,QAAS,WACP,GAAI/H,EAAGkB,QAAQW,mBAIb,MAHAT,SAAQC,KACN,2JAEK,IAGT,IAAIrB,EAAG8S,aAAa2e,MAAO,CACzB,GAAMj3B,GAAQ,GAAI+H,OAChB,oGAGF,MADA/H,GAAM2I,KAAO,yBACP3I,EAGR,GAAIwF,EAAG8B,KAAK8qD,aACV,MAAO5sD,GAAG8B,KAAK8qD,YAGjB,IAAI5sD,EAAG8B,KAAK+qD,wBACV,MAAO7sD,GAAG8B,KAAK8qD,YAIjB5sD,GAAG8B,KAAK+qD,yBAA0B,CAElC,IAAI0B,GAAWvuD,EAAG8S,aAAaqF,QAC7BnY,EAAGyS,WAAWzS,EAAG8B,KAAKgrD,mBAExB,KAAKyB,EACH,MAAO,KAETvuD,GAAG8B,KAAK8qD,aAAe5sD,EAAGrJ,OAAOoe,QAAQ,SACzC/U,EAAG8B,KAAK8qD,aAAahF,gBAAiB,CAEtC,IAAIva,GAAO9pC,KAAKC,MAAM+qD,EAWtB,OAVAvuD,GAAG8B,KAAK8qD,aAAap4C,GAAK64B,EAAKmhB,UACxBnhB,GAAKmhB,IACZxuD,EAAG8B,KAAK8qD,aAAa3qD,cAAgBorC,EAAKprC,oBACnCorC,GAAKprC,cACZjC,EAAG8B,KAAK8qD,aAAa33C,aAAao4B,GAGlCrtC,EAAG8B,KAAK8qD,aAAa7E,0BACrB/nD,EAAG8B,KAAK8qD,aAAanN,gBACrBz/C,EAAG8B,KAAK8qD,aAAa3O,iBACdj+C,EAAG8B,KAAK8qD,cAOjBnE,iBAAkB,SAASjjD,GACzB,GAAIgH,EAMJ,OAJEA,GADExM,EAAG8B,KAAK8qD,eAAiBpnD,EACjBxF,EAAG8B,KAAK8nD,SAER,UAAQloD,UAEb8K,EAAQ7K,KAAK,WAClB6D,EAAKoiD,gBAAiB,EACtB5nD,EAAG8B,KAAK8qD,aAAepnD,CAEvB,IAAI6nC,GAAO7nC,EAAKqO,aAGhB,OAFAw5B,GAAKmhB,IAAMhpD,EAAKgP,GAChB64B,EAAKprC,cAAgBuD,EAAKvD,cACnBjC,EAAG8S,aACPE,aACChT,EAAGyS,WAAWzS,EAAG8B,KAAKgrD,oBACtB,aAAezf,IAEhB1rC,KAAK,WAEJ,MADA3B,GAAG8B,KAAK+qD,yBAA0B,EAC3B7sD,EAAGkT,8BAKlBu7C,gCAAiC,SAASna,GACxCt0C,EAAG8B,KAAKomD,eAAe5T,EAAS6T,eAAiB7T,GAE5Ct0C,EAAGkB,QAAQW,oBAAsB7B,EAAG8B,KAAKiG,WAC5C/H,EAAG8B,KAAKiG,UAAUigD,qBAAqB1T,EAAS6T,gBAIpDiF,WAAY,SAAS9Y,EAAU+S,EAAU3uD,GAEvC,MADWsH,GAAGrJ,OAAOoe,QAAQ,SACjB2zC,UAAUpU,EAAU+S,EAAU3uD,QhhB4/lB5C,SAAUjD,EAAQD,EAASM,GihB/zpBjC,QAASsvC,GAAgB/qC,EAAKtB,EAAKiB,GAYjC,MAXIjB,KAAOsB,GACTw/C,EAAuBx/C,EAAKtB,GAC1BiB,MAAOA,EACPlD,YAAY,EACZD,cAAc,EACdmR,UAAU,IAGZ3N,EAAItB,GAAOiB,EAGNK,EAdT,GAAIw/C,GAAyB,EAAQ,IAiBrCpkD,GAAOD,QAAU4vC,EAAiB3vC,EAAOD,QAAQyB,YAAa,EAAMxB,EAAOD,QAAiB,QAAIC,EAAOD,SjhBu0pBjG,SAAUC,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C2b,EAAOrX,EAAuBtE,EAAoB,KAElD8J,EAAWxF,EAAuBtE,EAAoB,KAEtD6O,EAAQvK,EAAuBtE,EAAoB,KAEnD4b,EAAatX,EAAuBtE,EAAoB,KAExDi3C,EAAQ3yC,EAAuBtE,EAAoB,MAEnD6J,EAAUvF,EAAuBtE,EAAoB,KkhBz2pBnDwJ,EAAIO,EAAQ,GACZiS,EAAQjS,EAAQ,IAAS,mBACzBI,EAAUJ,EAAQ,IACxB,EAA8BA,EAAQ,IAA9BiE,EAAR,EAAQA,SAAUrB,EAAlB,EAAkBA,QAClB,EAII5C,EAAQ,IAHVoF,EADF,EACEA,YACAC,EAFF,EAEEA,sBACA8B,EAHF,EAGEA,cAGI0nD,EAAW,SAAC10D,EAAOoJ,GACvB,OAAclF,KAAVlE,EACF,KAAM,IAAIuI,OAAMa,GAKpB3N,GAAOD,QAAU,SAASwK,GA4CxBA,EAAGmwC,MAAQ,SAASwe,GACdrvD,EAAEoT,SAASi8C,KACbA,EAAc3uD,EAAGrJ,OAAO85C,aAAake,IAGvC94D,KAAK84D,YAAcA,EAEnB94D,KAAKmO,UAAY2qD,EAAYv3D,UAAU4M,UAEvCnO,KAAKsO,UACLtO,KAAK+4D,YACL/4D,KAAKg5D,WACLh5D,KAAKi5D,QAAU,EACfj5D,KAAKk5D,MAAQ,EACbl5D,KAAK66C,mBAaP1wC,EAAGmwC,MAAM6e,GAAK,WACZ,GAAIC,GAAU3vD,EAAE8hC,QAAQ5oC,WACpBwL,EAAY,IAChBhE,GAAG4V,WAAWq5C,EAAS,SAASC,GAK9B,GAJI5vD,EAAEyF,OAAOf,KACXA,EAAYkrD,EAAElrD,WAGZA,IAAckrD,EAAElrD,UAClB,KAAM,IAAIzB,OAAM,2CAGpB,IAAIG,GAAQ,GAAI1C,GAAGmwC,MAAMnsC,EAEzB,OADAtB,GAAMysD,SAASF,GACRvsD,GAaT1C,EAAGmwC,MAAMif,IAAM,WACb,GAAIH,GAAU3vD,EAAE8hC,QAAQ5oC,WACpBwL,EAAY,IAChBhE,GAAG4V,WAAWq5C,EAAS,SAASC,GAK9B,GAJI5vD,EAAEyF,OAAOf,KACXA,EAAYkrD,EAAElrD,WAGZA,IAAckrD,EAAElrD,UAClB,KAAM,IAAIzB,OAAM,2CAGpB,IAAIG,GAAQ,GAAI1C,GAAGmwC,MAAMnsC,EAEzB,OADAtB,GAAM2sD,UAAUJ,GACTvsD,GAaT1C,EAAGmwC,MAAMmf,aAAe,SAASC,EAAKC,EAAS92D,GAC7C,GAAIktD,IAAW2J,IAAKA,EAQpB,OAPIjwD,GAAElD,QAAQozD,GACZ5J,EAAO4J,QAAUA,EAEjB92D,EAAU82D,EAGE1rD,EAAS,aAAc,KAAM,KAAM,MAAO8hD,EAAQltD,GACjDiJ,KAAK,SAAS2B,GAE3B,GAAIZ,GAAQ,GAAI1C,GAAGmwC,MAAM7sC,EAASU,UAQlC,QACEuN,SARY,aAAAjS,GAAC,KAADA,EAAMgE,EAASiO,QAAS,SAAS87B,GAC7C,GAAIhzC,GAAMqI,EAAM+sD,WAAWnsD,EAI3B,OAHIjJ,GAAI4a,cACN5a,EAAI4a,aAAavS,EAAMgtD,eAAeriB,IAAO,GAExChzC,IAIP2mB,MAAO1d,EAAS0d,MAChBhd,UAAWV,EAASU,cAY1BhE,EAAGmwC,MAAMwf,SAAW,YASd,GARJ3rD,GAQI,EARJA,UACA68B,EAOI,EAPJA,MACA17B,EAMI,EANJA,QACAyqD,EAKI,EALJA,OACAxqD,EAII,EAJJA,WACA+lD,EAGI,EAHJA,MACAD,EAEI,EAFJA,KACA2E,EACI,EADJA,KAEA,IAAyB,gBAAd7rD,GACT,KAAM,IAAIlF,WAAU,kDAEtB,IAAM4D,GAAQ,GAAI1C,GAAGmwC,MAAMnsC,EAU3B,OATA1E,GAAES,OAAO2C,GACPyB,OAAQ08B,EACR+tB,SAAUzpD,EACV0pD,QAASe,EACTE,YAAa1qD,EACb0pD,OAAQ3D,EACR4D,MAAO7D,EACP6E,OAAQF,IAEHntD,GAGT1C,EAAGmwC,MAAM78B,QAAUtT,EAAGsT,QAEtBhU,EAAES,OACAC,EAAGmwC,MAAM/4C,WAGPs4D,eAAgB,SAASr1D,GACvB,MAAOA,IAWTtD,IAAK,SAASkN,EAAUvL,GACtB,IAAK4G,EAAEoT,SAASzO,GACd,KAAM,IAAI1B,OAAM,4BAElB,IAAiB,KAAb0B,EACF,MAAO,WAAQsI,OACb,GAAItM,GAAQA,EAAQ0I,iBAAkB,qBAI1C,IAAItO,GAAMxE,KAAK45D,YACfp1D,GAAIma,GAAKvQ,CAET,IAAI+rD,GAAYn6D,KAAKqtD,aACjB79C,IAOJ,QALI,EAAJ,WAAI2qD,KAAgB3qD,EAAa/I,MAAb,aAAoB0zD,IACpCA,EAAU7qD,UAASE,EAAaF,QAAU6qD,EAAU7qD,SACpD6qD,EAAU5qD,aACZC,EAAaD,WAAa4qD,EAAU5qD,YAE/BtB,EACL,UACAjO,KAAKmO,UACLC,EACA,MACAiB,EAAsBG,GACtB3M,GACAiJ,KAAK,SAAA2B,GACL,GAAIhE,EAAEs+B,QAAQt6B,GACZ,KAAM,IAAIrD,GAAQA,EAAQ0I,iBAAkB,oBAE9C,OADAtO,GAAI4a,aAAa5a,EAAImJ,MAAMF,IAAW,GAC/BjJ,KAQXoF,OAtD+B,WAiE7B,OACEuE,UAFEnO,KARFmO,UAWA68B,MAHEhrC,KAPFsO,OAWAgB,QAJEtP,KANF+4D,SAWAgB,OALE/5D,KALFg5D,QAWAzpD,WANEvP,KAJFi6D,YAWA3E,MAPEt1D,KAHFi5D,OAWA5D,KAREr1D,KAFFk5D,MAWAc,MATEh6D,KADFk6D,SAcJ7M,WAAY,WACV,GAAI0C,GAAStmD,EAAES,UAAWlK,KAAK66C,gBAC7B7P,MAAOhrC,KAAKsO,QAsBd,OAnBItO,MAAK+4D,SAASn2D,OAAS,IACzBmtD,EAAOzgD,QAAUtP,KAAK+4D,SAAStpD,KAAK,MAElCzP,KAAKg5D,QAAQp2D,OAAS,IACxBmtD,EAAOtpD,KAAOzG,KAAKg5D,QAAQvpD,KAAK,UAETpH,KAArBrI,KAAKi6D,cACPlK,EAAOrgD,UAAY1P,KAAKi6D,aAEtBj6D,KAAKi5D,QAAU,IACjBlJ,EAAOuF,MAAQt1D,KAAKi5D,QAElBj5D,KAAKk5D,MAAQ,IACfnJ,EAAOsF,KAAOr1D,KAAKk5D,WAED7wD,KAAhBrI,KAAKk6D,SACPnK,EAAOiK,MAAQh6D,KAAKk6D,QAGfnK,GAGT6J,WAAY,SAASnsD,GAOnB,MALIA,IAAYA,EAASU,UACjB,GAAIhE,GAAGrJ,OAAO2M,EAASU,WAEvB,GAAInO,MAAK84D,aAInBsB,eAjH+B,WAqH7B,GAHArK,GAGA,uDAHS/vD,KAAKqtD,aACdxqD,EAEA,uCADAX,EACA,0EADmBlC,KAAKmO,UAExB,IAAI8c,oBAAmB,aAAe8kC,IAASntD,OAAS,IAAM,CAC5D,GAAMisD,IACJ5F,WAEI1gD,OAAQ,MACRrG,KAAM,OAAF,OAASA,GACb6tD,WAIN,OAAOnjD,IACL1K,KAAM,SACNqG,OAAQ,OACRuE,KAAM+hD,EACN3jD,YAAarI,IACZiJ,KAAK,SAAA2B,GACN,GAAM4I,GAAS5I,EAAS,EACxB,IAAI4I,EAAOsoC,QACT,MAAOtoC,GAAOsoC,OAMhB,MAJc,IAAIv0C,GAChBiM,EAAO1R,MAAM2I,KACb+I,EAAO1R,MAAMA,OAAS,yBAK5B,MAAOiI,IACLrE,OAAQ,MACRrG,OACA2K,MAAOkjD,EACP7kD,YAAarI,KAIjBw3D,eAzJ+B,SAyJhB5sD,GAAU,UACvB,QAAO,aAAAhE,GAAC,KAADA,EAAMgE,EAASiO,QAAS,SAAA87B,GAC7B,GAAIhzC,GAAM,EAAKo1D,WAAWnsD,EAI1B,OAHIjJ,GAAI4a,cACN5a,EAAI4a,aAAa,EAAKy6C,eAAeriB,IAAO,GAEvChzC,KAWX8lB,KA1K+B,SA0K1BznB,GAEH,MADgB7C,MAAKo6D,mBAAe/xD,GAAWxF,GAChCiJ,KAAK9L,KAAKq6D,eAAel4D,KAAKnC,QAU/Cs6D,aAtL+B,SAsLlBz3D,GAAS,WACdktD,EAAS/vD,KAAKqtD,YAIpB,OAHA0C,GAAO5kC,MAAQ,EACCnrB,KAAKo6D,eAAerK,EAAQltD,GAE7BiJ,KAAK,SAAA2B,GAAQ,OAC1B,EAAK4sD,eAAe5sD,GACpBA,EAAS0d,UAsBbovC,KAnN+B,WAmNkB,uEAA1CC,EAA0C,EAA1CA,UAAWC,EAA+B,EAA/BA,UAAkBvvD,EAAa,uCACzCwZ,EAAY1kB,KAAKqtD,YACvBpxC,GAAM,UAAWyI,GACbA,EAAUs1C,QACZzuD,QAAQC,KACN,wGAEKkZ,GAAUs1C,OAEft1C,EAAU2wC,OACZ9pD,QAAQC,KACN,iEAEKkZ,GAAU2wC,MAEf3wC,EAAU4wC,QACZ/pD,QAAQC,KACN,kEAEKkZ,GAAU4wC,OAEfkF,IAAW91C,EAAUg2C,SAAWF,GAChCC,IAAW/1C,EAAU4wC,MAAQmF,EACjC,IAAIE,GACAC,IACJ,QACEx2C,KAAM,WACJ,MAAIw2C,GAAch4D,OACT,UAAQiJ,SACbwO,MAAM,EACNlW,MAAOy2D,EAAclnB,UAGV,OAAXinB,EACK,UAAQ9uD,SAAUwO,MAAM,IAE1BpM,EACL,eACA,EAAKE,UACL,KACA,MACAwsD,EAASlxD,EAAES,UAAWwa,GAAai2C,WAAYj2C,EAC/CxZ,GACAY,KAAK,SAAA2B,GAEL,GADAktD,EAASltD,EAASktD,OACdltD,EAASiO,QAAQ9Y,OAAQ,CACX,EAAKy3D,eAAe5sD,GAC5BqD,QAAQ,SAAAuF,GAAM,MAAIukD,GAAc70D,KAAKsQ,KAE/C,MAAe,QAAXskD,GAA4C,IAAzBC,EAAch4D,QAC1ByX,MAAM,IAGfA,MAAM,EACNlW,MAAOy2D,EAAclnB,cAa/B+a,WAAY,SAAS5rD,GACnB,GAAI9C,GAAOC,IACX,QAAO,aAAAD,GAAI,KAAJA,EAAU8C,GAASiJ,KAAK,SAAS4sC,GACtC,MAAOvuC,GAAGrJ,OAAO2tD,WAAW/V,EAAS71C,MAWzCsoB,MAAO,SAAStoB,GACd,GAAIktD,GAAS/vD,KAAKqtD,YAKlB,OAJA0C,GAAOuF,MAAQ,EACfvF,EAAO5kC,MAAQ,EACDnrB,KAAKo6D,eAAerK,EAAQltD,GAE3BiJ,KAAK,SAAS2B,GAC3B,MAAOA,GAAS0d,SAWpBsa,MAAO,SAAS5iC,GACd,GAAI9C,GAAOC,KAEP+vD,EAAS/vD,KAAKqtD,YAIlB,OAHA0C,GAAOuF,MAAQ,EACDt1D,KAAKo6D,eAAerK,EAAQltD,GAE3BiJ,KAAK,SAAS2B,GAC3B,OAAO,aAAAhE,GAAC,KAADA,EAAMgE,EAASiO,QAAS,SAAS87B,GACtC,GAAIhzC,GAAMzE,EAAK65D,YAIf,OAHIp1D,GAAI4a,cACN5a,EAAI4a,aAAarf,EAAK85D,eAAeriB,IAAO,GAEvChzC,IACN,MAWP6wD,KAAM,SAASl0D,GAGb,MAFA03D,GAAS13D,EAAG,uCACZnB,KAAKk5D,MAAQ/3D,EACNnB,MASTs1D,MAAO,SAASn0D,GAGd,MAFA03D,GAAS13D,EAAG,wCACZnB,KAAKi5D,OAAS93D,EACPnB,MAUTu6C,QAAS,SAASr3C,EAAKiB,GAIrB,MAHA00D,GAAS31D,EAAK,gCACd21D,EAAS10D,EAAO,kCAChBnE,KAAKsO,OAAOpL,GAAOiH,EAAGwT,QAAQxZ,GACvBnE,MAOT+6C,cAAe,SAAS73C,EAAKwhB,EAAWvgB,GAUtC,MATA00D,GAAS31D,EAAK,0CACd21D,EAASn0C,EAAW,sCACpBm0C,EAAS10D,EAAO,4CAGXnE,KAAKsO,OAAOpL,KACflD,KAAKsO,OAAOpL,OAEdlD,KAAKsO,OAAOpL,GAAKwhB,GAAava,EAAGwT,QAAQxZ,GAClCnE,MAUT66D,YAAa,SAAS33D,EAAKiB,GAEzB,MADAnE,MAAK+6C,cAAc73C,EAAK,QAASiB,GAC1BnE,MAUT86D,WAAY,SAAS53D,EAAKiB,GAExB,MADAnE,MAAK+6C,cAAc73C,EAAK,MAAOiB,GACxBnE,MAUT+6D,SAAU,SAAS73D,EAAKiB,GAEtB,MADAnE,MAAK+6C,cAAc73C,EAAK,MAAOiB,GACxBnE,MAUTg7D,YAAa,SAAS93D,EAAKiB,GAEzB,MADAnE,MAAK+6C,cAAc73C,EAAK,MAAOiB,GACxBnE,MAUTi7D,kBAAmB,SAAS/3D,EAAKiB,GAE/B,MADAnE,MAAK+6C,cAAc73C,EAAK,OAAQiB,GACzBnE,MAUTk7D,qBAAsB,SAASh4D,EAAKiB,GAElC,MADAnE,MAAK+6C,cAAc73C,EAAK,OAAQiB,GACzBnE,MAUTm7D,YAAa,SAASj4D,EAAKoX,GAEzB,MADAta,MAAK+6C,cAAc73C,EAAK,MAAOoX,GACxBta,MAUTo7D,eAAgB,SAASl4D,EAAKoX,GAE5B,MADAta,MAAK+6C,cAAc73C,EAAK,OAAQoX,GACzBta,MAUTq7D,YAAa,SAASn4D,EAAKoX,GAEzB,MADAta,MAAK+6C,cAAc73C,EAAK,OAAQoX,GACzBta,MAQT46B,OAAQ,SAAS13B,GAEf,MADAlD,MAAK+6C,cAAc73C,EAAK,WAAW,GAC5BlD,MAQTs7D,aAAc,SAASp4D,GAErB,MADAlD,MAAK+6C,cAAc73C,EAAK,WAAW,GAC5BlD,MAWTu7D,QAAS,SAASr4D,EAAKs4D,EAAOC,GAkB5B,MAjBAz7D,MAAK+6C,cAAc73C,EAAK,SAAUs4D,GAC7BC,IACHA,EAAY,IAKVD,EAAME,aACRD,GAAa,KAEXD,EAAMG,YACRF,GAAa,KAGXA,GAAaA,EAAU74D,QACzB5C,KAAK+6C,cAAc73C,EAAK,WAAYu4D,GAE/Bz7D,MAWT47D,aAAc,SAAS14D,EAAK2J,GAC1B,GAAIstD,GAAYttD,EAAMwgD,YAGtB,OAFA8M,GAAUhsD,UAAYtB,EAAMsB,UAC5BnO,KAAK+6C,cAAc73C,EAAK,WAAYi3D,GAC7Bn6D,MAWT67D,kBAAmB,SAAS34D,EAAK2J,GAC/B,GAAIstD,GAAYttD,EAAMwgD,YAGtB,OAFA8M,GAAUhsD,UAAYtB,EAAMsB,UAC5BnO,KAAK+6C,cAAc73C,EAAK,cAAei3D,GAChCn6D,MAaT87D,kBAAmB,SAAS54D,EAAK64D,EAAUlvD,GACzC,GAAIstD,GAAYttD,EAAMwgD,YAGtB,OAFA8M,GAAUhsD,UAAYtB,EAAMsB,UAC5BnO,KAAK+6C,cAAc73C,EAAK,WAAaA,IAAK64D,EAAUlvD,MAAOstD,IACpDn6D,MAaTg8D,uBAAwB,SAAS94D,EAAK64D,EAAUlvD,GAC9C,GAAIstD,GAAYttD,EAAMwgD,YAMtB,OALA8M,GAAUhsD,UAAYtB,EAAMsB,UAC5BnO,KAAK+6C,cAAc73C,EAAK,eACtBA,IAAK64D,EACLlvD,MAAOstD,IAEFn6D,MASTs5D,SAAU,SAASF,GACjB,GAAIe,IAAY,aAAA1wD,GAAC,KAADA,EAAM2vD,EAAS,SAASC,GACtC,MAAOA,GAAEhM,aAAariB,OAIxB,OADAhrC,MAAKsO,OAAO2tD,IAAM9B,EACXn6D,MASTw5D,UAAW,SAASJ,GAClB,GAAIe,IAAY,aAAA1wD,GAAC,KAADA,EAAM2vD,EAAS,SAASC,GACtC,MAAOA,GAAEhM,aAAariB,OAIxB,OADAhrC,MAAKsO,OAAO4tD,KAAO/B,EACZn6D,MASTm8D,OAAQ,SAASz6D,GACf,MAAO,MAAQA,EAAEmgB,QAAQ,MAAO,eAAiB,OAUnDwE,SAAU,SAASnjB,EAAKiB,GAEtB,MADAnE,MAAK+6C,cAAc73C,EAAK,SAAUlD,KAAKm8D,OAAOh4D,IACvCnE,MAWTo8D,WAAY,SAASl5D,EAAKiB,GAExB,MADAnE,MAAK+6C,cAAc73C,EAAK,SAAU,IAAMlD,KAAKm8D,OAAOh4D,IAC7CnE,MAUTq8D,SAAU,SAASn5D,EAAKiB,GAEtB,MADAnE,MAAK+6C,cAAc73C,EAAK,SAAUlD,KAAKm8D,OAAOh4D,GAAS,KAChDnE,MASTs8D,UAAW,SAASp5D,GAGlB,MAFA21D,GAAS31D,EAAK,gCACdlD,KAAKk6D,OAASh3D,EACPlD,MAUTu8D,aAAc,SAASr5D,GAIrB,MAHA21D,GAAS31D,EAAK,gCACVlD,KAAKk6D,OAAQl6D,KAAKk6D,QAAU,IAAMh3D,EACjClD,KAAKk6D,OAASh3D,EACZlD,MASTw8D,WAAY,SAASt5D,GAGnB,MAFA21D,GAAS31D,EAAK,gCACdlD,KAAKk6D,OAAS,IAAMh3D,EACblD,MAUTy8D,cAAe,SAASv5D,GAItB,MAHA21D,GAAS31D,EAAK,gCACVlD,KAAKk6D,OAAQl6D,KAAKk6D,QAAU,KAAOh3D,EAClClD,KAAKk6D,OAAS,IAAMh3D,EAClBlD,MAUT08D,KAAM,SAASx5D,EAAKwiB,GAMlB,MALMA,aAAiBvb,GAAGmU,WAExBoH,EAAQ,GAAIvb,GAAGmU,SAASoH,IAE1B1lB,KAAK+6C,cAAc73C,EAAK,cAAewiB,GAChC1lB,MAWT28D,cAAe,SAASz5D,EAAKwiB,EAAOk3C,GAGlC,MAFA58D,MAAK08D,KAAKx5D,EAAKwiB,GACf1lB,KAAK+6C,cAAc73C,EAAK,eAAgB05D,GACjC58D,MAaT68D,YAAa,SAAS35D,EAAKwiB,EAAOk3C,GAChC,MAAO58D,MAAK28D,cAAcz5D,EAAKwiB,EAAOk3C,EAAW,SAanDE,iBAAkB,SAAS55D,EAAKwiB,EAAOk3C,GACrC,MAAO58D,MAAK28D,cAAcz5D,EAAKwiB,EAAOk3C,EAAW,OAcnDG,aAAc,SAAS75D,EAAK85D,EAAWC,GAQrC,MAPMD,aAAqB7yD,GAAGmU,WAC5B0+C,EAAY,GAAI7yD,GAAGmU,SAAS0+C,IAExBC,YAAqB9yD,GAAGmU,WAC5B2+C,EAAY,GAAI9yD,GAAGmU,SAAS2+C,IAE9Bj9D,KAAK+6C,cAAc73C,EAAK,WAAag6D,MAAOF,EAAWC,KAChDj9D,MASTsP,QAAS,SAAS7I,GAAM,UAKtB,OAJAoyD,GAASpyD,EAAM,gCACfgD,EAAEqH,QAAQnO,UAAW,SAAA8D,GAAQ,KAC3B,GAAKsyD,UAAW,iBAAKA,UAAL,OAAqB3pD,EAAY3I,MAE5CzG,MAQTuP,WAAY,WAAuB,GAAdpL,KAAc,wDAEjC,OADAnE,MAAKi6D,YAAc91D,EACZnE,MAUT+5D,OAAQ,SAAStzD,GAAM,UAKrB,OAJAoyD,GAASpyD,EAAM,gCACfgD,EAAEqH,QAAQnO,UAAW,SAAA8D,GAAQ,KAC3B,GAAKuyD,SAAU,iBAAKA,SAAL,OAAoB5pD,EAAY3I,MAE1CzG,MAeT+W,KAAM,SAASuJ,GAAwB,GAAdzd,GAAc,yDACrC,IAAI7C,KAAKk6D,QAAUl6D,KAAKk5D,OAASl5D,KAAKi5D,QAAU,EAAG,CACjD,GAAIt0D,GAAQ,GAAI+H,OACd,uDAEF,OAAO,WAAQgK,OAAO/R,GAGxB,GAAIkI,GAAQ,GAAI1C,GAAGmwC,MAAMt6C,KAAK84D,YAG9BjsD,GAAMosD,OAASp2D,EAAQ43D,WAAa,IACpC5tD,EAAMyB,OAAS7E,EAAE0V,MAAMnf,KAAKsO,QAC5BzB,EAAMksD,SAAWtvD,EAAE0V,MAAMnf,KAAK+4D,UAE9BlsD,EAAMyvD,UAAU,WAEhB,IAAIa,IAAW,CACf,OAAOhsD,GACL,WACE,OAAQgsD,GAEV,WACE,OAAO,aAAAtwD,GAAK,KAALA,EAAWhK,GAASiJ,KAAK,SAAS4P,GACvC,GAAI0hD,GAAgB,UAAQvxD,SAO5B,OANApC,GAAEsN,KAAK2E,EAAS,SAASrF,GACvB+mD,EAAgBA,EAActxD,KAAK,WACjC,MAAOwU,GAASjK,OAIb+mD,EAActxD,KAAK,WACpB4P,EAAQ9Y,QAAUiK,EAAMosD,OAC1BpsD,EAAMmuD,YAAY,WAAYt/C,EAAQA,EAAQ9Y,OAAS,GAAG+b,IAE1Dw+C,GAAW,SAgBvBE,UAv5B+B,SAu5BrBx6D,GACR,MAAOsH,GAAGmzD,UAAUtvB,KAAKhuC,KAAM6C,MAKrCsH,EAAG0tD,gBAAkB1tD,EAAGmwC,MAAM78B,SAC5Bm8C,WAAY,WAEV,MAAO,KADWzvD,EAAGrJ,OAAO85C,aAAa,WAG3Cif,eAAgB,SAASriB,GACvB,GAAIA,GAAQA,EAAKx3C,KAAK83D,gBAAiB,CACrC,GAAInoD,GAAO6nC,EAAKx3C,KAAK83D,eAKrB,OAJoB,YAAhBnoD,EAAKyO,QAA2C,UAAnBzO,EAAKxB,kBAC7BwB,GAAKyO,aACLzO,GAAKxB,WAEPwB,EAEP,MAAO,WlhBm9pBT,SAAU/P,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KAEtD6O,EAAQvK,EAAuBtE,EAAoB,KmhBrlsBjDwJ,EAAIO,EAAQ,GACZ2Y,EAAe3Y,EAAQ,KAC7B,EAAqBA,EAAQ,IAArB+F,EAAR,EAAQA,SACR,EAAoB/F,EAAQ,IAApB4C,EAAR,EAAQA,QAEFywD,EAAY,SAAClD,EAAW78C,GAAZ,MAChB1Q,IACErE,OAAQ,OACRrG,KAAM,uBACN4K,MACED,MAAOstD,EACPx7C,GAAIrB,KAIV1d,GAAOD,QAAU,SAAAwK,GACf,GAAMozD,GAAkB,WACtB,IAAKpzD,EAAGkB,QAAQ+Q,SACd,KAAM,IAAI1P,OACR,sGASNvC,GAAGmzD,UAAYvtD,EACb4S,GAEEvS,YADmC,SACvBuO,EAAI6+C,EAAQrD,EAAW78C,GAAgB,UACjDqF,GAAa/gB,MAAM5B,MACnBA,KAAK2e,GAAKA,EACV3e,KAAKy9D,QAAUD,EACfx9D,KAAKy9D,QAAQlO,SAASvvD,MACtBA,KAAK09D,WAAavD,EAClBn6D,KAAKod,gBAAkBE,EACvBtd,KAAK29D,WAAa39D,KAAK49D,UAAUz7D,KAAKnC,MACtCA,KAAK69D,aAAe,WAClBR,EAAU,EAAKK,WAAY,EAAKtgD,iBAAiBhQ,MAAM,SAAAzI,GAAK,MAC1D4G,SAAQ5G,MAAR,uCAA8CA,EAAM4I,aAGxDiwD,EAAOjhD,GAAG,UAAWvc,KAAK29D,YAC1BH,EAAOjhD,GAAG,YAAavc,KAAK69D,eAE9BD,UAjBmC,SAiBzBrwD,GAAS,UACjBA,GAAQuD,QAAQ,YAAoD,GAAjD2mC,GAAiD,EAAjDA,GAAIp2C,EAA6C,EAA7CA,OAAkBy8D,EAA2B,EAArCC,SAAmBC,EAAkB,EAAlBA,WAChD,IAAIF,IAAY,EAAKn/C,GAArB,CACA,GAAMlb,GAAS0G,EAAGuV,UAChBjW,EAAES,QAEEkU,OAA6B,UAArB/c,EAAO8M,UAAwB,OAAS,UAElD9M,GAGA28D,GAmBF,EAAK/6C,KAAKw0B,EAAIh0C,EAAQu6D,GAYtB,EAAK/6C,KAAKw0B,EAAIh0C,OASpBw6D,YApEmC,WAqEjC,GAAMT,GAASx9D,KAAKy9D,OAIpB,OAHAD,GAAOjiC,IAAI,UAAWv7B,KAAK29D,YAC3BH,EAAOjiC,IAAI,YAAav7B,KAAK69D,cAC7BL,EAAOU,WAAWl+D,MACX4M,GACLrE,OAAQ,OACRrG,KAAM,yBACN4K,MACE6R,GAAI6+C,EAAO7+C,GACXo/C,SAAU/9D,KAAK2e,SAOrBqvB,KADF,SAEInhC,GAIA,oEAFEyQ,eAAgB6gD,MAElB,OAF8Ch0D,EAAGoT,qBAEjD,CAEA,IADAggD,MACM1wD,YAAiB1C,GAAGmwC,OACxB,KAAM,IAAIrxC,WAAU,wCACtB,OAAO,WAAQ4C,QAAQsyD,GAA2BryD,KAAK,SAAAwR,GAAc,MACnEnT,GAAGkB,QAAQ+Q,SACRgiD,sBAAsB9gD,GACtBxR,KAAK,SAAAuyD,GACJ,MAAmCxxD,EAAMwgD,aAAjCriB,EAAR,EAAQA,MAAOvkC,GAAf,gBAAqBiJ,EAArB,EAAqBA,UACfyqD,GACJnvB,QACAvkC,OACAiJ,YACAvB,UAAWtB,EAAMsB,WAEbwI,EAAU0mD,EAAUlD,EAAW78C,GAClCxR,KACC,eAAagyD,GAAb,EAAGC,QAAH,OACE,IAAI5zD,GAAGmzD,UACLQ,EACAO,EACAlE,EACA78C,KAGLghD,QAAQ,WACPD,EAAgBH,WAAWvnD,IAG/B,OADA0nD,GAAgB9O,SAAS54C,GAClBA,OASf4nD,MA5CF,WA8CI,MADAhB,KACOpzD,EAAGkB,QAAQ+Q,SAASmiD,SAO7BC,OArDF,WAuDI,MADAjB,KACOpzD,EAAGkB,QAAQ+Q,SAASoiD,cnhB2msB7B,SAAU5+D,EAAQD,EAASM,GAEjC,YohBtxsBA,IAAMwJ,GAAIO,EAAQ,GAClB,EAAgBA,EAAQ,IAAhB4F,EAAR,EAAQA,GAERhQ,GAAOD,QAAU,SAAAwK,GAefA,EAAGs0D,QAAU,SAAiB57D,EAASqI,GACrClL,KAAKu+C,SAAW17C,EAChB7C,KAAK0+D,aAAexzD,EAKpBlL,KAAKmN,QAAM9E,GAKXrI,KAAK2+D,iBAAet2D,GAKpBrI,KAAKk4D,kBAAgB7vD,IAOvB8B,EAAGs0D,QAAQl9D,UAAUyL,QAAU,WAAmB,UAChD,OAAO7C,GAAGy0D,MAAMC,gBAAgB7+D,KAAKu+C,SAAUv+C,KAAK0+D,cAAc5yD,KAChE,YAA2B,GAAxB6yD,GAAwB,EAAxBA,aAAcxxD,EAAU,EAAVA,GAEf,OADA1D,GAAES,OAAO,GAAQy0D,eAAcxxD,QACxBA,KAUbhD,EAAGs0D,QAAQl9D,UAAUu9D,OAAS,SAAgBxxD,GAAM,UAClD,OAAOnD,GAAGy0D,MAAMG,cAAczxD,EAAMtN,KAAK2+D,cAAc7yD,KACrD8D,EAAI,SAAAsoD,GAAa,MAAK,GAAKA,cAAgBA,MAe7C/tD,EAAGs0D,QAAQl9D,UAAUY,KAAO,cAG1B,WAFE68D,EAEF,EAFEA,UAAWC,EAEb,EAFaA,MAAOC,EAEpB,EAFoBA,aAClBvgB,EACF,EADEA,QAASh6C,EACX,EADWA,KAEX,IAAyB,gBAAdq6D,MACTA,EAAYrwD,SAASwwD,eAAeH,IAElC,KAAM,IAAItyD,OAAJ,4BAA+BsyD,EAA/B,cAEV,IAAqB,gBAAVC,MACTA,EAAQtwD,SAASwwD,eAAeF,IACpB,KAAM,IAAIvyD,OAAJ,wBAA2BuyD,EAA3B,cAEpB,IAA4B,gBAAjBC,MACTA,EAAevwD,SAASwwD,eAAeD,IAErC,KAAM,IAAIxyD,OAAJ,+BAAkCwyD,EAAlC,cAGVl/D,MAAKo/D,UAAY,iBACf,GAAKpyD,UACFlB,KAAK,SAAAqB,GACJ8xD,EAAMjmD,IAAM7L,EACR6xD,IACFA,EAAU76D,MAAQ,GAClB66D,EAAUK,WAGbjyD,MAAM,SAAAY,GAAG,MAAIzC,SAAQC,KAAR,gCAAsCwC,EAAIT,aACxD0xD,IACFj/D,KAAKs/D,QAAUL,EACfA,EAAMjmD,IAAMhZ,KAAKmN,IACjB8xD,EAAM9rC,iBAAiB,QAASnzB,KAAKo/D,YAGvCp/D,KAAKu/D,SAAW,WACd,GAAMjyD,GAAO0xD,EAAU76D,KACvB,GAAK26D,OAAOxxD,GACTF,MAAM,SAAAY,GAEL,KADA,GAAKoxD,YACCpxD,IAEPlC,KAAK6yC,EAASh6C,GACdyI,MAAM,SAAAY,GAAG,MAAIzC,SAAQC,KAAR,+BAAqCwC,EAAIT,aAEvDyxD,GAAaE,IACfl/D,KAAKw/D,eAAiBN,EACtBA,EAAa/rC,iBAAiB,QAASnzB,KAAKu/D,YAOhDp1D,EAAGs0D,QAAQl9D,UAAUsyC,OAAS,WACxB7zC,KAAKs/D,SACPt/D,KAAKs/D,QAAQG,oBAAoB,QAASz/D,KAAKo/D,WAC7Cp/D,KAAKw/D,gBACPx/D,KAAKw/D,eAAeC,oBAAoB,QAASz/D,KAAKu/D,WAa5Dp1D,EAAGs0D,QAAQ7xD,QAAU,SAAC/J,EAASqI,GAC7B,GAAMw0D,GAAU,GAAIv1D,GAAGs0D,QAAQ57D,EAASqI,EACxC,OAAOw0D,GAAQ1yD,UAAUlB,KAAK,iBAAM4zD,QphB2zsBlC,SAAU9/D,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KqhBp9sBpDwJ,EAAIO,EAAQ,GAClB,EAA8BA,EAAQ,IAA9BiE,EAAR,EAAQA,SAAUrB,EAAlB,EAAkBA,OAElBhN,GAAOD,QAAU,SAASwK,GAUxBA,EAAGy0D,MAAQz0D,EAAGy0D,UAEdn1D,EAAES,OACAC,EAAGy0D,OAUDtsC,IATqB,SASjB3xB,EAAMmM,EAAMjK,GACd,MAAO+J,IACLN,QAAS,SACT/D,OAAQ,OACRrG,KAAM,cAAF,OAAgBvB,GACpBmM,KAAM3C,EAAGwT,QAAQ7Q,EAAM,MAAM,GAC7B5B,YAAarI,IACZiJ,KAAK,SAAA2hD,GACN,MAAOtjD,GAAG4U,QAAQ0uC,GAAMp3C,UAY5BspD,IA7BqB,SA6BjBh/D,EAAMmM,EAAMjK,GACd,MAAI4G,GAAElD,QAAQuG,GACL,UAAQ4J,OACb,GAAIhK,OACF,qEAKCE,GACLN,QAAS,SACT/D,OAAQ,OACRrG,KAAM,SAAF,OAAWvB,GACfmM,KAAM3C,EAAG0V,qBAAqB/S,GAC9B5B,YAAarI,IACZiJ,KAAK,SAAA2hD,GACN,MAAOtjD,GAAG4U,QAAQ0uC,GAAMp3C,UAU5BupD,cAvDqB,WAwDnB,MAAO3xD,GAAS,OAAQ,KAAM,KAAM,OAAOnC,KAAK,SAAS2hD,GACvD,MAAOtjD,GAAG4U,QAAQ0uC,MAetBoS,eAxEqB,SAwEN/yD,GAAoB,GAAdjK,GAAc,yDAIjC,IAHI4G,EAAEoT,SAAS/P,KACbA,GAASwnD,kBAAmBxnD,KAEzBA,EAAKwnD,kBACR,KAAM,IAAI5nD,OAAM,6BAOlB,OALI7J,GAAQq1D,gBACVprD,EAAOrD,EAAES,UAAW4C,GAClBqrD,eAAgBt1D,EAAQq1D,iBAGrBjqD,EAAS,iBAAkB,KAAM,KAAM,OAAQnB,EAAMjK,IAU9Di9D,cA9FqB,SA8FPxyD,EAAM+oD,GAClB,IAAK/oD,EAAM,KAAM,IAAIZ,OAAM,oBAC3B,IAAIqjD,KAKJ,OAJItmD,GAAEoT,SAASw5C,KACbtG,EAAM,kBAAwBsG,GAGzBpoD,EAAS,gBAAiBX,EAAM,KAAM,OAAQyiD,IAGvD8O,gBAxGqB,SAwGLh8D,EAASqI,GACvB,MAAO+C,GACL,iBACA,KACA,KACA,MACApL,EACAqI,GACAY,KAAK,eAAgBqB,GAAhB,EAAG4yD,WAAH,QACLpB,aADK,EAAqBqB,cAE1B7yD,UAOJ8yD,eAAgB91D,EAAGs0D,QAAQ7xD,QAS3BmyD,cAlIqB,SAkIPzxD,EAAMqxD,GAClB,MAAO1wD,GAAS,gBAAiB,KAAM,KAAM,QAC3CiyD,aAAc5yD,EACd0yD,cAAerB,IACd7yD,KAAK,qBAAGqsD,sBrhBm+sBb,SAAUv4D,EAAQD,EAASM,GAEjC,YshB5ntBA,IAAM2M,GAAU5C,EAAQ,IAAa4C,OAErChN,GAAOD,QAAU,SAASwK,GACxBA,EAAGg2D,aAAeh2D,EAAGrJ,OAAOoJ,OAAO,iBAKnCC,EAAGi2D,KAAOj2D,EAAGi2D,SAoBbj2D,EAAGi2D,KAAKC,KAAO,SAASvzD,EAAMjK,GAK5B,GAJIiK,EAAKk+B,QACPl+B,EAAKk+B,MAAQl+B,EAAKk+B,MAAMqiB,aAAariB,OAGnCl+B,EAAKk+B,OAASl+B,EAAK4sD,IACrB,KAAM,IAAIhtD,OAAM,kCAWlB,IARII,EAAKwzD,YACPxzD,EAAKwzD,UAAYxzD,EAAKwzD,UAAU12D,UAG9BkD,EAAKyzD,kBACPzzD,EAAKyzD,gBAAkBzzD,EAAKyzD,gBAAgB32D,UAG1CkD,EAAKyzD,iBAAmBzzD,EAAK0zD,oBAC/B,KAAM,IAAI9zD,OACR,4DAIJ,OAAOE,IACLN,QAAS,OACT/D,OAAQ,OACRrG,KAAM,QACN4K,OACA5B,YAAarI,OthBootBb,SAAUjD,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KAEtDwqB,EAAWlmB,EAAuBtE,EAAoB,MuhBrstBpDwJ,EAAIO,EAAQ,GACZkxC,EAAYlxC,EAAQ,IAAaiE,SACvC,EAA4BjE,EAAQ,IAA5BK,EAAR,EAAQA,eAERzK,GAAOD,QAAU,SAASwK,GACxB,GAAMs2D,GAAU,WAAkB,GAAjB59D,GAAiB,yDAEhC,OADqBwH,GAAgBxH,GAE5BsH,EAAG8B,KAAK4qD,yBAAyBxsD,EAAgBxH,IAEnDsH,EAAG8B,KAAKC,gBAGXw0D,EAAiB,SAAA79D,GAAO,MAC5B49D,GAAQ59D,GAASiJ,KAAK,SAAA60D,GAAQ,MAC5Bx2D,GAAGrJ,OAAO27C,kBAAkB,QAASkkB,EAAShiD,IAAIV,eAOtD9T,GAAGy2D,OAAS,SAASC,EAAUtzD,GAc7B,MAbAvN,MAAK8M,QACL9M,KAAK8gE,UAAY,UACjB9gE,KAAK6M,MAAQ,KACTg0D,GAAgC,YAApB,aAAOA,GACrB7gE,KAAK8M,KAAO+zD,GAERA,IACF7gE,KAAK8M,KAAKmyD,MAAQ4B,GAEhBtzD,IACFvN,KAAK8M,KAAKS,QAAUA,IAGjBvN,MAGTyJ,EAAES,OACAC,EAAGy2D,OAAOr/D,WAMRL,IAAK,SAASo8C,GACZ,MAAOt9C,MAAK8M,KAAKwwC,IAOnBvjC,IAAK,SAAS7W,EAAKiB,GAEjB,MADAnE,MAAK8M,KAAK5J,GAAOiB,EACVnE,MAQT+tC,QAAS,SAASlrC,GAChB,MAAK7C,MAAK2e,GAEIu8B,EAAU,WAAY,KAAMl7C,KAAK2e,GAAI,SAAU9b,GADpD,UAAQ6T,OAAO,GAAIhK,OAAM,kCAQpC1E,SAAU,WACR,MAAKhI,MAAK2e,GACHxU,EAAGrJ,OAAO27C,kBAAkB,UAAWz8C,KAAK2e,IAD9B,MAGvBoiD,aAAc,WACZ,GAAIvpB,GAAO/tC,EAAE0V,MAAMnf,KAAK8M,KACxB,OAAO3C,GAAGwT,QAAQ65B,IAoBpB6oB,KAAM,WAAuB,WAAdx9D,EAAc,yDAC3B,KAAKwH,EAAgBxH,KAAasH,EAAG8B,KAAKiG,UACxC,KAAM,IAAIxF,OAAM,yBAElB,OAAK1M,MAAK6M,MAIH6zD,EAAe79D,GACnBiJ,KAAK,SAAA60D,GACJ,GAAI9zD,GAAQ,EAAKA,MAAMwgD,YACvBxgD,GAAMsB,UAAY,EAAKtB,MAAMsB,SAC7B,IAAIrB,KAOJ,OANAA,GAAKD,MAAQA,EACb,EAAKC,KAAO,EAAKA,SACjB,EAAKA,KAAKhK,OAAS,EAAKgK,KAAKhK,QAAU69D,EACvC7zD,EAAKA,KAAO,EAAKi0D,eACjBj0D,EAAKg0D,UAAY,EAAKA,WAAa,UAE5B5lB,EAAU,WAAY,KAAM,KAAM,OAAQpuC,EAAMjK,KAExDiJ,KAAK,SAAA2B,GAGJ,MAFA,GAAKkR,GAAKlR,EAASW,SACnB,EAAKo7C,UAAYr/C,EAAGqT,WAAW/P,EAAS+7C,WACjC,IAnBFr/C,EAAGy2D,OAAOI,sBAAsBhhE,KAAM6C,IAuBjDuc,aAAc,SAASwrC,GACrB5qD,KAAK2e,GAAKisC,EAAWx8C,SACrBpO,KAAKwpD,UAAYr/C,EAAGqT,WAAWotC,EAAWpB,WAC1CxpD,KAAK0pD,UAAYv/C,EAAGqT,WAAWotC,EAAWlB,WAC1C1pD,KAAKihE,UAAYrW,EAAWqW,gBACrBrW,GAAWqW,gBACXrW,GAAWx8C,eACXw8C,GAAWpB,gBACXoB,GAAWlB,UAClB1pD,KAAK8M,KAAO3C,EAAG4U,QAAQ6rC,MAqB7BzgD,EAAGy2D,OAAOI,sBAAwB,SAAS51C,GAAsB,GAAdvoB,GAAc,yDAC/D,KAAKwH,EAAgBxH,KAAasH,EAAG8B,KAAKiG,UACxC,KAAM,IAAIxF,OAAM,yBAElB,OAAOg0D,GAAe79D,GAASiJ,KAAK,SAAA60D,GAClC,GAAI9zD,KACJA,GAAMsB,UAAY,YAClBtB,EAAMpG,KAAO,WACboG,EAAMm+B,OAAUr7B,KAAMgxD,EACtB,IAAI7zD,KAQJ,OAPAA,GAAKD,MAAQA,EACbue,EAAOte,KAAOse,EAAOte,SACrBse,EAAOte,KAAKhK,OAASsoB,EAAOte,KAAKhK,QAAU69D,EAC3C7zD,EAAKA,KAAOse,EAAO21C,eACnBj0D,EAAKg0D,UAAY11C,EAAO01C,WAAa,UAEvB5lB,EAAU,WAAY,KAAM,KAAM,OAAQpuC,EAAMjK,GAC/CiJ,KAAK,SAAS2B,GAG3B,MAFA2d,GAAOzM,GAAKlR,EAASW,SACrBgd,EAAOo+B,UAAYr/C,EAAGqT,WAAW/P,EAAS+7C,WACnCp+B,OAuBbjhB,EAAGy2D,OAAOM,kBAAoB,SAAS91C,EAAQ3nB,GAAsB,GAAdZ,GAAc,yDACnE,KAAKwH,EAAgBxH,KAAasH,EAAG8B,KAAKiG,UACxC,KAAM,IAAIxF,OAAM,yBAElB,KAAKjJ,EACH,KAAM,IAAIiJ,OAAM,uBAElB,IAAIwoD,GAAezrD,EAAEoT,SAASpZ,GAAUA,EAASA,EAAOkb,EACxD,KAAKu2C,EACH,KAAM,IAAIxoD,OAAM,uBAElB,OAAOg0D,GAAe79D,GAASiJ,KAAK,SAAA60D,GAClC,GAAI9zD,KACJA,GAAMsB,UAAY,QAClBtB,EAAMm+B,OAAU58B,SAAU8mD,EAC1B,IAAIpoD,KASJ,OARAA,GAAKD,MAAQA,EACbue,EAAOte,KAAOse,EAAOte,SACrBse,EAAOte,KAAKhK,OAASsoB,EAAOte,KAAKhK,QAAU69D,EAC3C7zD,EAAKA,KAAOse,EAAO21C,eACnBj0D,EAAKg0D,UAAY,UACjB11C,EAAO01C,UAAY,UAEL5lB,EAAU,WAAY,KAAM,KAAM,OAAQpuC,EAAMjK,GAC/CiJ,KAAK,SAAS2B,GAG3B,MAFA2d,GAAOzM,GAAKlR,EAASW,SACrBgd,EAAOo+B,UAAYr/C,EAAGqT,WAAW/P,EAAS+7C,WACnCp+B,OAmBbjhB,EAAGy2D,OAAOO,oBAAsB,SAC9B7kB,GAGA,GAFAwkB,GAEA,uDAFY,UACZj+D,EACA,yDAEA,IADK4G,EAAEoT,SAASikD,KAAYj+D,EAAUi+D,IACjCz2D,EAAgBxH,IAAqB,MAATy5C,IAAkBnyC,EAAG8B,KAAKiG,UACzD,KAAM,IAAIxF,OAAM,oDAElB,OAAO,WAAQb,QAAQywC,GAASmkB,EAAQ59D,IAAUiJ,KAAK,SAAAwwC,GACrD,GAAIyT,KAGJ,OAFAA,GAAO+Q,UAAY32D,EAAGwT,QAAQmjD,GAC9B/Q,EAAOzT,MAAQnyC,EAAGwT,QAAQ2+B,GACnBpB,EACL,2BACA,KACA,KACA,MACA6U,EACAltD,MAmBNsH,EAAGy2D,OAAOQ,iBAAmB,SAC3B9kB,GAGA,GAFAwkB,GAEA,uDAFY,UACZj+D,EACA,yDAEA,IADK4G,EAAEoT,SAASikD,KAAYj+D,EAAUi+D,IACjCz2D,EAAgBxH,IAAqB,MAATy5C,IAAkBnyC,EAAG8B,KAAKiG,UACzD,KAAM,IAAIxF,OAAM,oDAElB,OAAO,WAAQb,QAAQywC,GAASmkB,EAAQ59D,IAAUiJ,KAAK,SAAAwwC,GACrD,GAAIyT,KAGJ,OAFAA,GAAO+Q,UAAY32D,EAAGwT,QAAQmjD,GAC9B/Q,EAAOzT,MAAQnyC,EAAGwT,QAAQ2+B,GACnBpB,EACL,sCACA,KACA,KACA,OACA6U,EACAltD,MAiBNsH,EAAGy2D,OAAOS,YAAc,SAASv+D,GAC/B,GAAI+J,GAAQ,GAAI1C,GAAGmwC,MAAM,UAIzB,OAHIx3C,IACF+J,EAAM0tC,QAAQ,SAAUz3C,GAEnB+J,GAOT1C,EAAGm3D,WAAan3D,EAAGmwC,MAAM78B,SAErB8jD,aAAcp3D,EAAGy2D,OACjBY,SAAU,EACVC,OAAQ,EACRC,WAAY,UACZC,OAAQ,KACR/H,WAAY,WACV,MAAO,IAAIzvD,GAAGy2D,QAEhBxG,eAAgB,SAASrK,EAAQltD,GAC/B,MAAOsH,GAAGm3D,WAAWjxD,UAAU+pD,eAAe75D,KAC5CP,KACA+vD,EACAltD,EACA,wBAWJ++D,QAAS,SAASjjD,GAEhB,MADA3e,MAAKwhE,SAAW7iD,EACT3e,MAST6hE,MAAO,SAASljD,GAEd,MADA3e,MAAKyhE,OAAS9iD,EACP3e,MAOTs8C,MAAO,SAASA,GAEd,MADAt8C,MAAK2hE,OAASrlB,EACPt8C,MAOT8gE,UAAW,SAAShqD,GAElB,MADA9W,MAAK0hE,WAAa5qD,EACX9W,MAETqtD,WAAY,WACV,GAAI0C,GAAS5lD,EAAGm3D,WAAWjxD,UAAUg9C,WAAW9sD,KAAKP,KAKrD,OAJA+vD,GAAOzT,MAAQnyC,EAAGwT,QAAQ3d,KAAK2hE,QAC/B5R,EAAO+Q,UAAY32D,EAAGwT,QAAQ3d,KAAK0hE,YACnC3R,EAAO6R,QAAUz3D,EAAGwT,QAAQ3d,KAAKwhE,UACjCzR,EAAO8R,MAAQ13D,EAAGwT,QAAQ3d,KAAKyhE,QACxB1R,KAqBb5lD,EAAGy2D,OAAOkB,WAAa,SAASxlB,EAAOwkB,GACrC,GAAIj0D,GAAQ,GAAI1C,GAAGm3D,WAAWn3D,EAAGy2D,OAOjC,OANItkB,KACFzvC,EAAM80D,OAASrlB,GAEbwkB,IACFj0D,EAAM60D,WAAaZ,GAEdj0D,KvhBoutBL,SAAUjN,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C4b,EAAatX,EAAuBtE,EAAoB,KAExD2b,EAAOrX,EAAuBtE,EAAoB,KwhBxpuBhDwJ,EAAIO,EAAQ,GACZkxC,EAAYlxC,EAAQ,IAAaiE,QAEvCrO,GAAOD,QAAU,SAASwK,GAYxBA,EAAG43D,kBAAoB,WACrB/hE,KAAKgiE,gBAGPv4D,EAAES,OACAC,EAAG43D,kBAAkBxgE,WAEnB0gE,UAAW,SAAS/+D,EAAK82D,EAAO12C,EAAM4+C,GACpC,GAAIjjB,KAOJ,OANAA,GAAM/7C,IACJ82D,MAAOA,GAAS,MAChB12C,KAAMA,GAAQ,MACd4+C,QAAS,KAAOA,GAAW,SAE7BliE,KAAKgiE,YAAYj8D,KAAKk5C,GACfj/C,MAaTs8D,UAAW,SAASp5D,EAAKogB,EAAM4+C,GAC7B,MAAOliE,MAAKiiE,UAAU/+D,EAAK,MAAOogB,EAAM4+C,IAa1C1F,WAAY,SAASt5D,EAAKogB,EAAM4+C,GAC9B,MAAOliE,MAAKiiE,UAAU/+D,EAAK,OAAQogB,EAAM4+C,IAW3CC,UAAW,SAASj/D,EAAKwiB,EAAO7iB,GAC9BA,EAAUA,KACV,IAAIo8C,MACAmjB,GACFC,IAAK38C,EAAMrG,SACXijD,IAAK58C,EAAMpG,WAET9e,GACFw5D,MAAOn3D,EAAQm3D,OAAS,MACxB12C,KAAMzgB,EAAQygB,MAAQ,MACtBi/C,KAAM1/D,EAAQ0/D,MAAQ,KAMxB,OAJA/hE,GAAE0C,GAAOk/D,EACTnjB,EAAK,cAAoBz+C,EAEzBR,KAAKgiE,YAAYj8D,KAAKk5C,GACfj/C,MAOTwiE,MAAO,WACL,OAAO,aAAer4D,EAAGwT,QAAQ3d,KAAKgiE,iBAoB5C73D,EAAGs4D,YAAct4D,EAAGmwC,MAAM78B,SAEtBilD,KAAM,KACNC,MAAO,EACPC,aAAc,KACdC,YAAa,KACbC,aAAc,KACdC,OAAQ,KAER3yD,YAAa,SAASjC,GAChBA,EACFnO,KAAK+iE,OAAS50D,EAEdA,EAAY,kBAEdhE,EAAGmwC,MAAM/5C,KAAKP,KAAMmO,IAGtBisD,eAAgB,SAASrK,EAAQltD,GAC/B,MAAOq4C,GACL,gBACA,KACA,KACA,MACA6U,GAAU/vD,KAAKqtD,aACfxqD,IASJmgE,IAAK,SAASA,GAEZ,MADAhjE,MAAK0iE,KAAOM,EACLhjE,MAQTgrB,YAAa,SAASquC,GAEpB,MADAr5D,MAAK4iE,aAAevJ,EACbr5D,MAaTijE,WAAY,SAASA,GACnB,GAAIvqB,EAOJ,OALEA,GADEuqB,GAAcx5D,EAAEoT,SAASomD,GACjBx5D,EAAE8hC,QAAQ5oC,WAEVsgE,EAEZjjE,KAAK6iE,YAAcnqB,EACZ14C,MAUTkrC,OAAQ,SAASg4B,GAEf,MADAljE,MAAK8iE,aAAeI,EACbljE,MAOTmjE,KAAM,WAIJ,MAHKnjE,MAAK2iE,QACR3iE,KAAK2iE,MAAQ,GAER3iE,KAAK2iE,OAGd9I,eAAgB,SAASriB,GAIvB,aAHOA,GAAI,gBACJA,GAAI,eACJA,GAAI,UACJA,GAST4rB,QAAS,WACP,OAAQpjE,KAAKqjE,SAOfC,MAAO,WACLtjE,KAAKqjE,SAAU,EACfrjE,KAAK0iE,KAAO,KACZ1iE,KAAK2iE,MAAQ,GAafr4C,KAAM,SAASznB,GACb,GAAI9C,GAAOC,IAIX,OAFcA,MAAKo6D,mBAAe/xD,GAAWxF,GAE9BiJ,KAAK,SAAS2B,GAW3B,MATIA,GAASu1D,KACXjjE,EAAKwjE,QAAUxjE,EAAK2iE,KACpB3iE,EAAK2iE,KAAOj1D,EAASu1D,MAErBjjE,EAAK2iE,KAAO,KACZ3iE,EAAKsjE,SAAU,GAEjBtjE,EAAK4iE,MAAQl1D,EAAS01D,MAAQ,GAEvB,aAAA15D,GAAC,KAADA,EAAMgE,EAASiO,QAAS,SAAS87B,GAClCA,EAAKrpC,YACPV,EAASU,UAAYqpC,EAAKrpC,UAE5B,IAAI3J,GAAMzE,EAAK65D,WAAWnsD,EAG1B,OAFAjJ,GAAIg/D,OAAShsB,EAAI,SACjBhzC,EAAI4a,aAAarf,EAAK85D,eAAeriB,IAAO,GACrChzC,OAKb6oD,WAAY,WACV,GAAI0C,GAAS5lD,EAAGs4D,YAAYpyD,UAAUg9C,WAAW9sD,KAAKP,KAQtD,UAPO+vD,GAAO/kB,MACVhrC,KAAK+iE,SACPhT,EAAO0T,MAAQzjE,KAAKmO,WAElBnO,KAAK0iE,OACP3S,EAAOiT,IAAMhjE,KAAK0iE,OAEf1iE,KAAK4iE,aACR,KAAM,IAAIl2D,OAAM,2BAOlB,IALEqjD,EAAOsJ,EAAIr5D,KAAK4iE,aAEd5iE,KAAK6iE,cACP9S,EAAOkT,WAAajjE,KAAK6iE,YAAYpzD,KAAK,MAExCzP,KAAK8iE,cAAgB/S,EAAOiK,MAC9B,KAAM,IAAIttD,OAAM,8CAMlB,OAJI1M,MAAK8iE,eACP/S,EAAO/6B,KAAOh1B,KAAK8iE,aAAaN,SAG3BzS,OxhBouuBT,SAAUnwD,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KyhBlhvBpDwJ,EAAIO,EAAQ,GACZI,EAAUJ,EAAQ,IACxB,EAAoBA,EAAQ,IAApB4C,EAAR,EAAQA,OAERhN,GAAOD,QAAU,SAASwK,GASxBA,EAAGu5D,QAAUv5D,EAAGu5D,YAEhBj6D,EAAES,OACAC,EAAGu5D,SAkBDC,SAAU,SAASC,EAAW/gE,GAC5B,IAAK+gE,IAAcA,EAAUC,IAC3B,KAAM,IAAIn3D,OAAM,yCAElB,IAAII,IACF82D,UAAWA,EACX50B,MAAO7kC,EAAGgB,cAEZ,OAAOyB,IACL1K,KAAM,iBACNqG,OAAQ,OACRuE,KAAM3C,EAAGwT,QAAQ7Q,EAAM,MAAM,GAC7B5B,YAAarI,EACbkI,SAAS,IACRe,KAAK,SAAA2hD,GAAI,MAAItjD,GAAG4U,QAAQ0uC,GAAM9uC,MAanCpC,GAAI,SAASkW,EAAOjqB,OAUxB2B,EAAGu5D,QAAQI,SAAW,SAASnlD,EAAIxQ,GACjC,IAAKwQ,EACH,KAAM,IAAIjS,OAAM,6BAElB1M,MAAK2e,GAAKA,EACV3e,KAAKmO,UAAYA,EACjBnO,KAAKk5D,MAAQ,EACbl5D,KAAKi5D,OAAS,KAGhBxvD,EAAES,OACAC,EAAGu5D,QAAQI,SAASviE,WASlB8zD,KAAM,SAASl0D,GAEb,MADAnB,MAAKk5D,MAAQ/3D,EACNnB,MASTs1D,MAAO,SAASn0D,GAEd,MADAnB,MAAKi5D,OAAS93D,EACPnB,MAaTsqB,KAAM,SAASznB,GACb,GAAIktD,IACFsF,KAAMr1D,KAAKk5D,MACX5D,MAAOt1D,KAAKi5D,OAGd,OAAOrsD,IACL1K,KAAM,kBAAF,OAAoBlC,KAAK2e,IAC7BpW,OAAQ,MACRsE,MAAOkjD,EACP7kD,YAAarI,EACbkI,SAAS,IACRe,KAAK,SAAS2B,GACf,MAAIA,GAAS9I,MACJ,UAAQ+R,OAAO,GAAItM,GAAQqD,EAASH,KAAMG,EAAS9I,QAErD,UAAQkH,QAAQ4B,UzhBmivB3B,SAAU7N,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,K0hB/qvBpDwJ,EAAIO,EAAQ,GAClB,EAA+BA,EAAQ,IAAtB+5D,EAAjB,EAAQn3D,QACR,EAA4B5C,EAAQ,IAA5BK,EAAR,EAAQA,eAERzK,GAAOD,QAAU,SAASwK,GACxB,GAAM65D,GAA0B,SAAA94D,GAC9B,GAAIA,EAAYyE,KAAM,CACpB,IAAKzE,EAAYyE,KAAKvD,cACpB,KAAM,IAAIM,OAAM,qCAElB,OAAO,WAAQb,QAAQX,EAAYyE,MAErC,MAAIzE,GAAYa,aACP5B,EAAG8B,KAAK4qD,yBAAyB3rD,EAAYa,cAE/C5B,EAAG8B,KAAKC,gBAGX+3D,EAAuB,SAAA/4D,GAC3B,GAAMa,GAAe1B,EAAgBa,EACrC,OAAIa,GACK,UAAQF,QAAQE,GAElB5B,EAAG8B,KAAKC,eAAeJ,KAAK,SAAA6D,GACjC,GAAIA,EACF,MAAOA,GAAKtF,oBASlBF,GAAG+5D,YAUDt3D,QAAS,SAAS/J,GAA2B,GACvCshE,GACAjkD,EAFqBhV,EAAkB,yDAIvCrI,GAAQshE,QACVA,EAASthE,EAAQshE,OACjBjkD,EAAard,EAAQqd,YAErBikD,EAASthE,CAGX,IAAMuhE,GAAY36D,EAAEoT,SAASsnD,GACzBh6D,EAAGrJ,OAAO27C,kBAAkB,QAAS0nB,GACrCA,CAEJ,OAAOH,GAAwB94D,GAAaY,KAAK,SAAA8rD,GAC/C,IAAKA,EACH,KAAM,IAAIlrD,OAAM,yBAElB,OAAOq3D,IACLx7D,OAAQ,OACRrG,KAAM,4BACN4K,MACE6C,KAAMioD,EAAQ35C,aACdkmD,OAAQC,EAAUnmD,aAClBomD,WAAYnkD,GAEdhV,mBAcNo5D,cAAe,SAASzhE,GAA2B,GAC7C+J,GACAsT,EAF2BhV,EAAkB,yDAG7CrI,GAAQ+J,SACVA,EAAU/J,EAAQ+J,QAClBsT,EAAard,EAAQqd,YAErBtT,EAAU/J,CAEZ,IAAM0hE,GAAY96D,EAAEoT,SAASjQ,GAAWA,EAAUA,EAAQ+R,EAC1D,OAAOslD,GAAqB/4D,GAAaY,KAAK,SAAAC,GAC5C,IAAKA,EACH,KAAM,IAAIW,OAAM,yBAElB,OAAOq3D,IACLx7D,OAAQ,MACRrG,KAAM,6BAA+BqiE,EAAY,UACjDz3D,MACEu3D,WAAYl6D,EAAGwT,QAAQuC,IAEzBhV,mBAWNs5D,eAAgB,SAAS53D,GAA2B,GAAlB1B,GAAkB,0DAC5Cq5D,EAAY96D,EAAEoT,SAASjQ,GAAWA,EAAUA,EAAQ+R,EAC1D,OAAOslD,GAAqB/4D,GAAaY,KAAK,SAAAC,GAC5C,IAAKA,EACH,KAAM,IAAIW,OAAM,yBAElB,OAAOq3D,IACLx7D,OAAQ,MACRrG,KAAM,6BAA+BqiE,EAAY,WACjDr5D,sB1hBysvBJ,SAAUtL,EAAQD,EAASM,GAEjC,YAGA,IAAIsE,GAAyBtE,EAAoB,GAE7C4b,EAAatX,EAAuBtE,EAAoB,K2hB70vBtDwJ,EAAIO,EAAQ,GAClB,EAAqBA,EAAQ,IAArBiE,EAAR,EAAQA,SACF9D,EAAKH,EAAQ,IAEby6D,EAAmB,SAAAl3D,GACvB,MAAuB,gBAAZA,GACFA,EAEyB,kBAAvBA,GAAQm3D,YACV,aAAen3D,EAAQm3D,eAEzB,aAAen3D,GAgBxB3N,GAAOD,QAAUwK,EAAGrJ,OAAOoJ,OACzB,iBAEEkG,YADsC,SAC1BzP,GAAoB,GAAdkC,GAAc,yDAC9BsH,GAAGrJ,OAAOS,UAAU6O,YAAY7P,KAAKP,KAAM,KAAM,MACjDA,KAAK+Z,IAAI,OAAQpZ,OACQ0H,KAArBxF,EAAQ8hE,UACV3kE,KAAK+Z,IAAI,QAAOlX,EAAQ8hE,cAEEt8D,KAAxBxF,EAAQ+hE,aACV5kE,KAAK+Z,IAAI,OAAMlX,EAAQ+hE,cAQ3BC,WAhBsC,WAiBpC,MAAO7kE,MAAKkB,IAAI,MAQlB4jE,iBAzBsC,WA0BpC,MAAO9kE,MAAKkB,IAAI,OAQlB6jE,WAlCsC,WAmCpC,MAAO/kE,MAAKkB,IAAI,MAQlB8jE,UA3CsC,SA2C5BC,GACR,MAAOjlE,MAAKkjC,IAAI,IAAK+hC,IAQvBC,gBApDsC,WAqDpC,MAAOllE,MAAKkB,IAAI,OAQlBk1C,QA7DsC,WA8DpC,MAAOp2C,MAAKkB,IAAI,SAQlB0jE,YAtEsC,WAuEpC,MAAO5kE,MAAKkB,IAAI,OAQlByjE,SA/EsC,WAgFpC,MAAO3kE,MAAKkB,IAAI,QAiBlBm/D,KAjGsC,SAiGjC8E,EAAY53D,GAAyC,GAAhC1K,GAAgC,0DAAlBqI,EAAkB,0DAClD4B,GACJs4D,UAAWD,EACXE,QAASrlE,KAAK2e,GACd2mD,WAAW,EACX/3D,QAASk3D,EAAiBl3D,GAW5B,YAT0BlF,KAAtBxF,EAAQ0iE,YACVz4D,EAAK04D,SAAW3iE,EAAQ0iE,eAEAl9D,KAAtBxF,EAAQyiE,YACVx4D,EAAKw4D,YAAYziE,EAAQyiE,eAEFj9D,KAArBxF,EAAQ4iE,WACV34D,EAAK44D,UAAY7iE,EAAQ4iE,UAEpBx3D,EAAS,MAAO,WAAY,KAAM,OAAQnB,EAAM5B,IAgBzDy6D,UAjIsC,SAiI5BR,EAAY53D,GAAyC,GAAhC1K,GAAgC,0DAAlBqI,EAAkB,0DACvD4B,GACJs4D,UAAWD,EACXE,QAASrlE,KAAK2e,GACdpR,QAASk3D,EAAiBl3D,GAK5B,QAHyBlF,KAArBxF,EAAQ4iE,WACV34D,EAAK/G,KAAOlD,EAAQ4iE,cAEIp9D,KAAtBxF,EAAQ+iE,UAAyB,CACnC,GAAIC,GAAKhjE,EAAQ+iE,SACbn8D,GAAE0U,OAAO0nD,KACXA,EAAKA,EAAGl7D,WAEV9H,EAAQijE,WAAaD,EAEvB,MAAO53D,GAAS,MAAO,YAAa,KAAM,OAAQnB,EAAM5B,O3hB42vBxD,SAAUtL,EAAQD,EAASM,GAEjC,Y4hBj+vBA,SAAS8lE,GAAT,GAA6C,GAAxBplE,GAAwB,EAAxBA,KAAMwD,EAAkB,EAAlBA,MAAOoI,EAAW,EAAXA,OAIhCvM,MAAKW,KAAOA,EAIZX,KAAKmE,MAAQA,EAIbnE,KAAKuM,QAAUA,E5hBw9vBjB,GAAIhI,GAAyBtE,EAAoB,GAE7C8J,EAAWxF,EAAuBtE,EAAoB,KAEtD2b,EAAOrX,EAAuBtE,EAAoB,KAElD6J,EAAUvF,EAAuBtE,EAAoB,K4hBriwBnDwJ,EAAIO,EAAQ,GAClB,EAAoBA,EAAQ,IAApB4C,EAAR,EAAQA,QACR,EAAmC5C,EAAQ,IAAnCoF,EAAR,EAAQA,YAAakB,EAArB,EAAqBA,UACfnG,EAAKH,EAAQ,GAMnBG,GAAG67D,kCACDC,MAAO,QACPC,IAAK,MACLC,KAAM,OACNC,MAAO,SAOTj8D,EAAGk8D,kBACDC,UAAW,YACXC,WAAY,cAOdp8D,EAAGq8D,2BAEDC,OAAQ,SAERC,KAAM,OAENC,IAAK,MAuCP,IAAMC,GAAqB,SAAAC,GACzB,MAAgE18D,EAAG4U,QACjE8nD,EAEF,OAAO,IAAId,IAAYplE,KAHvB,EAAQmmE,cAGqB3iE,MAH7B,EAA6B4iE,eAGOx6D,QAHpC,EAAoDA,UAStDpC,GAAG68D,YAAc,SAAqBF,GAIpC9mE,KAAK8mE,cAAgBA,EAIrB9mE,KAAKg6D,UAAQ3xD,GAIbrI,KAAKinE,mBAAiB5+D,GAItBrI,KAAKknE,0BAAwB7+D,GAI7BrI,KAAKuM,YAAUlE,GAIfrI,KAAKmnE,gBAAc9+D,GAInBrI,KAAKwpD,cAAYnhD,GAEnB,IAAM2+D,GAAc78D,EAAG68D,WAOvB78D,GAAG68D,YAAYvqB,kBAAoB,SAAAqqB,GAAa,MAC9C,IAAIE,GAAYF,IAWlB38D,EAAG68D,YAAYI,kBAAoB,WAEjCl8D,GAFiC,GAC/B47D,GAD+B,EAC/BA,cAAe9M,EADgB,EAChBA,MAAOkN,EADS,EACTA,sBAAuBD,EADd,EACcA,cADd,OAIjCr6D,IACErE,OAAQ,OACRrG,KAAM,4BACN4K,MACEg6D,gBACA9M,QACAkN,wBACAD,kBAEF/7D,gBACCY,KAAK,SAAAgB,GAEN,MADoB,IAAIk6D,GAAYF,GACjB1nD,aAAatS,MAQpC3C,EAAG68D,YAAYK,eAAiB,SAACP,EAAe57D,GAAhB,MAC9B87D,GAAYvqB,kBAAkBqqB,GAAeloB,MAAM1zC,IASrDf,EAAG68D,YAAYM,cAAgB,SAAC33D,GAAD,gEAAS43D,EAAT,EAASA,eAAuBr8D,EAAhC,6CAC7B,WAAQW,UAAUC,KAAK,WACrB,IAAM6D,IAAQA,EAAKgP,GAAK,KAAM,IAAIjS,OAAM,0BACxC,OAAOE,IACLrE,OAAQ,MACRrG,KAAM,sBAAF,OAAwByN,EAAKgP,GAA7B,eACJ9R,OACE26D,WAAYD,EACRn4D,EAAYm4D,GAAgB93D,KAAK,SACjCpH,IAEN6C,gBACCY,KAAK,eAAG4P,GAAH,EAAGA,OAAH,QAAiB,aAAAA,GAAO,KAAPA,EAAYkrD,QAWzCz8D,EAAG68D,YAAYS,iBAAmB,SAAC93D,EAAM63D,GAAP,GAAmB3kE,GAAnB,gEAChC,WAAQgJ,UAAUC,KAAK,WACrB,IAAM6D,IAAQA,EAAKgP,GAAK,KAAM,IAAIjS,OAAM,0BACxC,IAAMI,IAAO,aAAArD,GAAC,KAADA,EAAM+9D,EAAY,SAACrjE,EAAOjB,GAAR,OAC7B4jE,cAAe5jE,EACf6jE,eAAgB5iE,KAEVujE,EAAc7kE,EAAd6kE,SACR,OAAO96D,IACLrE,OAAQ,OACRrG,KAAM,sBAAF,OAAwByN,EAAKgP,GAA7B,eACJ9R,OACE66D,UAAWA,EAAY,MAAIr/D,IAE7ByE,OACA5B,YAAarI,IACZiJ,KAAK,eAAG4P,GAAH,EAAGA,OAAH,QAAiB,aAAAA,GAAO,KAAPA,EAAYkrD,QAUzCz8D,EAAG68D,YAAYW,iBAAmB,SAACh4D,EAAM43D,EAAgBr8D,GAAvB,MAChC,WAAQW,UAAUC,KAAK,WACrB,IAAM6D,IAAQA,EAAKgP,GAAK,KAAM,IAAIjS,OAAM,0BACxC,OAAOE,IACLrE,OAAQ,SACRrG,KAAM,sBAAF,OAAwByN,EAAKgP,GAA7B,eACJ9R,OACE26D,WAAYp4D,EAAYm4D,GAAgB93D,KAAK,MAE/CvE,gBACCY,KAAK,iBAGZrC,EAAES,OACA88D,EAAYzlE,WAEV6d,aADqC,SACxBtS,GAAM,UAcjB,OAbArD,GAAEqH,QAAQhE,EAAM,SAAC3I,EAAOjB,GACV,cAARA,GAA+B,aAARA,IACf,cAARA,IACFA,EAAM,eAEI,cAARA,IACFiB,EAAQmM,EAAUnM,IAEhBA,GAA0B,SAAjBA,EAAMia,SACjBja,EAAQmM,EAAUnM,EAAMka,MAE1B,EAAKnb,GAAOiB,KAEPnE,MAOT4+C,MAtBqC,SAsB/B1zC,GAAa,UACjB,OAAO0B,IACLrE,OAAQ,MACRrG,KAAM,6BAAF,OAA+BlC,KAAK8mE,eACxC57D,gBACCY,KAAK,SAAAgB,GAAI,MAAI,GAAKsS,aAAatS,MASpCqe,MApCqC,WAoCA,gEAA7B5e,EAA6B,EAA7BA,QAAgBrB,EAAa,sCACnC,OAAO0B,IACLrE,OAAQ,MACRrG,KAAM,6BAAF,OAA+BlC,KAAK8mE,cAApC,UACJj6D,OACEse,MAAO,EACPmqC,MAAO,EACP/oD,WAEFrB,gBACCY,KAAK,qBAAGqf,SAEby8C,YAhDqC,WAyDnC18D,EACA4qC,GACA,MATEuf,EASF,EATEA,KACAC,EAQF,EAREA,MACAuS,EAOF,EAPEA,eACAC,EAMF,EANEA,gBACAC,EAKF,EALEA,kBACAx7D,EAIF,EAJEA,OAKF,OAAOK,IACLrE,OAAQ,MACRrG,MAAM,EAAF,iDAA+BlC,KAAK8mE,cAApC,kBACFhxB,EAAS,IAAH,OAAOA,GAAW,IAE1BjpC,OACEwoD,OACAC,QACAuS,eACEp+D,EAAEwvC,MACA7pC,EAAYy4D,GACZz4D,EAAY04D,IACZr4D,KAAK,UAAQpH,GACjB2/D,YAAaF,EACT14D,EAAY04D,GAAiBr4D,KAAK,SAClCpH,GACJ0/D,kBAAmBA,EACf34D,EAAY24D,GAAmBt4D,KAAK,SACpCpH,GACJkE,WAEFrB,gBACCY,KAAK,eAAYm8D,GAAZ,EAAGvsD,OAAH,QACN,aAAAusD,GAAQ,KAARA,EAAa,SAAAC,GACX,MAKI/9D,EAAG4U,QAAQmpD,GAJbv4D,EADF,EACEA,KACgBxL,EAFlB,EAEE4iE,eACAoB,EAHF,EAGEA,KAHF,IAIEX,iBAJF,WAMA,QACE73D,OACAxL,QACAgkE,OACAC,oBAAoB,aAAAZ,GAAU,KAAVA,EAAeZ,SAiB3CyB,WA/GqC,WAyHnC,gEAREhT,EAQF,EAREA,KACAC,EAOF,EAPEA,MACAuS,EAMF,EANEA,eACAC,EAKF,EALEA,gBACAC,EAIF,EAJEA,kBACAx7D,EAGF,EAHEA,QAEFrB,EACA,sCACA,OAAOlL,MAAK4nE,aAERvS,OACAC,QACAuS,iBACAC,kBACAC,oBACAx7D,WAEFrB,IAeJo9D,qBAlJqC,SAkJhB34D,GAAiC,GAA3B9M,GAA2B,0DAAbqI,EAAa,sCAEpD,IAAIyE,GAA2B,gBAAZA,GAAKgP,GACtB,MAAO3e,MAAKsoE,yBAAqBjgE,GAAWsH,EAAM9M,EAEpD,IACEyyD,GAKEzyD,EALFyyD,MACAuS,EAIEhlE,EAJFglE,eACAC,EAGEjlE,EAHFilE,gBACAC,EAEEllE,EAFFklE,kBACAx7D,EACE1J,EADF0J,OAEF,OAAOvM,MAAK4nE,aACRtS,QAAOuS,iBAAgBC,kBAAiBC,oBAAmBx7D,WAC7DrB,EACAyE,EAAOA,EAAKgP,GAAK,SAGrB4pD,QApKqC,SAoK7Bz7D,EAAM5B,GAAa,UACzB,OAAO0B,IACLrE,OAAQ,MACRrG,KAAM,6BAAF,OAA+BlC,KAAK8mE,eACxCh6D,OACA5B,gBACCY,KAAK,SAAAuK,GAAM,MAAI,GAAK+I,aAAa/I,MAQtCmyD,4BAlLqC,SAkLTtB,EAAuBh8D,GACjD,MAAOlL,MAAKuoE,SAAUrB,yBAAyBh8D,IAQjDu9D,qBA3LqC,SA2LhBxB,EAAgB/7D,GACnC,MAAOlL,MAAKuoE,SAAUtB,kBAAkB/7D,IAO1Co4D,MAnMqC,SAmM/Bp4D,GAAa,UACjB,OAAO0B,IACLrE,OAAQ,MACRrG,KAAM,6BAAF,OAA+BlC,KAAK8mE,cAApC,qBACJ57D,gBACCY,KAAK,SAAAgB,GAAI,MAAI,GAAKsS,aAAatS,MAOpCihC,QA/MqC,SA+M7B7iC,GACN,MAAOf,GAAGyC,SACRrE,OAAQ,SACRrG,KAAM,6BAAF,OAA+BlC,KAAK8mE,eACxC57D,gBACCY,KAAK,eAUV48D,YA9NqC,WA8NU,uEAAjCrT,EAAiC,EAAjCA,KAAMC,EAA2B,EAA3BA,MAAcpqD,EAAa,sCAC7C,OAAO0B,IACLrE,OAAQ,MACRrG,KAAM,6BAAF,OAA+BlC,KAAK8mE,cAApC,aACJj6D,OACEwoD,OACAC,SAEFpqD,gBACCY,KAAK,eAAG4P,GAAH,EAAGA,OAAH,QACN,aAAAA,GAAO,KAAPA,EAAY,eAAGnP,GAAH,EAAGA,QAAS6e,EAAZ,EAAYA,OAAQje,EAApB,EAAoBA,IAAKw7D,EAAzB,EAAyBA,YAAaC,EAAtC,EAAsCA,aAAtC,QACV9B,cAAe,EAAKA,cACpBv6D,UACA6e,SACAje,MACAw7D,YAAar4D,EAAUq4D,EAAYtqD,KACnCuqD,cAAet4D,EAAUs4D,EAAcvqD,c5hBqpwB3C,SAAUze,EAAQD,EAASM,GAEjC,Y6hB5mxBA,IAAM4oE,GAAW7+D,EAAQ,IAEzBpK,GAAOD,QAAU,SAAAwK,GAEf,MADAA,GAAG+R,YAAY2sD,GACR1+D,I7hBonxBH,SAAUvK,EAAQD,EAASM,GAEjC,YAGA,IAAI+jD,GAAyB/jD,EAAoB,IAEjD+jD,GAAuBrkD,EAAS,cAC9BwE,OAAO,IAGTxE,EAAQ6c,aAAe7c,EAAQmpE,cAAY,GAE3C9kB,EAAuBrkD,EAAS,WAC9BsB,YAAY,EACZC,IAAK,WACH,MAAO6nE,GAAoBn8D,WAI/BjN,EAAQsiB,YAAU,GAElB+hC,EAAuBrkD,EAAS,UAC9BsB,YAAY,EACZC,IAAK,WACH,MAAO6nE,GAAoBloB,SAI/B,IAAIkoB,GAAsB9oE,EAAoB,K8hBnpxBjC,EAA+B6H,OAAOmV,Y9hBspxBnDtd,GAAQsiB,QAAUA,C8hBrpxBL,OAAmCna,OAAOghE,S9hBupxBvDnpE,GAAQmpE,UAAYA,C8hBrpxBP,QACXnoE,KAAM,U9hBwpxBRhB,GAAQ6c,aAAeA,GAIjB,SAAU5c,EAAQD,EAASM,GAEjC,Y+hB3nxBA,SAAS+oE,GAAgBrsB,GACrB,OACIrxB,GAAIqxB,EAAIrxB,GACRF,OAAQuxB,EAAIvxB,OACZtgB,QAAS6xC,EAAItxB,OACbve,KAAM6vC,EAAIkS,MA7ClB,GAAIoa,GAAajpE,MAAQA,KAAKipE,WAAc,SAAUC,EAASC,EAAYn3D,EAAGo3D,GAC1E,QAASC,GAAMllE,GAAS,MAAOA,aAAiB6N,GAAI7N,EAAQ,GAAI6N,GAAE,SAAUnG,GAAWA,EAAQ1H,KAC/F,MAAO,KAAK6N,IAAMA,EAAI0I,UAAU,SAAU7O,EAAS6K,GAC/C,QAAS4yD,GAAUnlE,GAAS,IAAMkgB,EAAK+kD,EAAUhlD,KAAKjgB,IAAW,MAAOyJ,GAAK8I,EAAO9I,IACpF,QAAS27D,GAASplE,GAAS,IAAMkgB,EAAK+kD,EAAiB,MAAEjlE,IAAW,MAAOyJ,GAAK8I,EAAO9I,IACvF,QAASyW,GAAKhO,GAAUA,EAAOgE,KAAOxO,EAAQwK,EAAOlS,OAASklE,EAAMhzD,EAAOlS,OAAO2H,KAAKw9D,EAAWC,GAClGllD,GAAM+kD,EAAYA,EAAUxnE,MAAMsnE,EAASC,QAAmB/kD,WAGlEolD,EAAexpE,MAAQA,KAAKwpE,aAAgB,SAAUN,EAASra,GAG/D,QAAS4a,GAAKtoE,GAAK,MAAO,UAAU0d,GAAK,MAAOwF,IAAMljB,EAAG0d,KACzD,QAASwF,GAAKozB,GACV,GAAIz1C,EAAG,KAAM,IAAIiH,WAAU,kCAC3B,MAAOQ,GAAG,IACN,GAAIzH,EAAI,EAAGosC,IAAM2X,EAAY,EAARtO,EAAG,GAASrJ,EAAU,OAAIqJ,EAAG,GAAKrJ,EAAS,SAAO2X,EAAI3X,EAAU,SAAM2X,EAAExlD,KAAK6tC,GAAI,GAAKA,EAAEhqB,SAAW2hC,EAAIA,EAAExlD,KAAK6tC,EAAGqJ,EAAG,KAAKp9B,KAAM,MAAO0rC,EAE3J,QADI3X,EAAI,EAAG2X,IAAGtO,GAAc,EAARA,EAAG,GAAQsO,EAAE5hD,QACzBszC,EAAG,IACP,IAAK,GAAG,IAAK,GAAGsO,EAAItO,CAAI,MACxB,KAAK,GAAc,MAAXhuC,GAAEigE,SAAkBvlE,MAAOszC,EAAG,GAAIp9B,MAAM,EAChD,KAAK,GAAG5Q,EAAEigE,QAASt7B,EAAIqJ,EAAG,GAAIA,GAAM,EAAI,SACxC,KAAK,GAAGA,EAAKhuC,EAAEiuC,IAAI9mC,MAAOnH,EAAEkgE,KAAK/4D,KAAO,SACxC,SACI,GAAMm1C,EAAIt8C,EAAEkgE,OAAM5jB,EAAIA,EAAEnjD,OAAS,GAAKmjD,EAAEA,EAAEnjD,OAAS,MAAkB,IAAV60C,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEhuC,EAAI,CAAG,UACjG,GAAc,IAAVguC,EAAG,MAAcsO,GAAMtO,EAAG,GAAKsO,EAAE,IAAMtO,EAAG,GAAKsO,EAAE,IAAM,CAAEt8C,EAAEigE,MAAQjyB,EAAG,EAAI,OAC9E,GAAc,IAAVA,EAAG,IAAYhuC,EAAEigE,MAAQ3jB,EAAE,GAAI,CAAEt8C,EAAEigE,MAAQ3jB,EAAE,GAAIA,EAAItO,CAAI,OAC7D,GAAIsO,GAAKt8C,EAAEigE,MAAQ3jB,EAAE,GAAI,CAAEt8C,EAAEigE,MAAQ3jB,EAAE,GAAIt8C,EAAEiuC,IAAI3xC,KAAK0xC,EAAK,OACvDsO,EAAE,IAAIt8C,EAAEiuC,IAAI9mC,MAChBnH,EAAEkgE,KAAK/4D,KAAO,UAEtB6mC,EAAKoX,EAAKtuD,KAAK2oE,EAASz/D,GAC1B,MAAOmE,GAAK6pC,GAAM,EAAG7pC,GAAIwgC,EAAI,EAAK,QAAUpsC,EAAI+jD,EAAI,EACtD,GAAY,EAARtO,EAAG,GAAQ,KAAMA,GAAG,EAAI,QAAStzC,MAAOszC,EAAG,GAAKA,EAAG,OAAK,GAAQp9B,MAAM,GAvB9E,GAAsGrY,GAAGosC,EAAG2X,EAAGv6B,EAA3G/hB,GAAMigE,MAAO,EAAGE,KAAM,WAAa,GAAW,EAAP7jB,EAAE,GAAQ,KAAMA,GAAE,EAAI,OAAOA,GAAE,IAAO4jB,QAAUjyB,OAC3F,OAAOlsB,IAAMpH,KAAMqlD,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,kBAAXpkE,UAA0BmmB,EAAEnmB,OAAOsb,UAAY,WAAa,MAAO3gB,QAAUwrB,EAyB3J1qB,QAAOC,eAAepB,EAAS,cAAgBwE,OAAO,IACtDxE,EAAQkhD,OAASlhD,EAAQiN,YAAU,EACnC,IAAIi9D,GAAkB,EAAQ,KAC1BC,EAAa,EAAQ,KASrBl9D,EAAU,SAAUO,EAAKtK,GAEzB,WADgB,KAAZA,IAAsBA,MACnBomE,MAAU,OAAQ,OAAQ,GAAQ,WACrC,GAAIc,GAAIxhE,EAAQuE,EAAMhC,EAASigB,EAAYi/C,EAAQC,EAAKC,EAASC,EAASxtB,EAAKytB,CAC/E,OAAOZ,GAAYxpE,KAAM,SAAUqqE,GAC/B,OAAQA,EAAGX,OACP,IAAK,GAED,GADAK,EAAKlnE,EAAQ0F,OAAQA,MAAgB,KAAPwhE,EAAgB,MAAQA,EAAIj9D,EAAOjK,EAAQiK,KAAMhC,EAAUjI,EAAQiI,QAASigB,EAAaloB,EAAQkoB,WAAYi/C,EAASnnE,EAAQmnE,OAC7I,OAAXA,OAA8B,KAAXA,MAAoB,GAASA,EAAOE,QACvD,KAAM,IAAIL,GAAgBS,WAAW,kBAEzCL,GAAMH,EAAWvhE,EAAQ4E,GAAKme,GAAG,WAAc,OAAO,IAClDxgB,GACAm/D,EAAIlwD,IAAIjP,GAERigB,GACAk/C,EAAI1tD,GAAG,WAAYwO,GAEvBm/C,GAAU,EACVC,EAAU,WACND,GAAU,EACVD,EAAIM,SAEG,OAAXP,OAA8B,KAAXA,GAA6BA,EAAO72C,iBAAiB,QAASg3C,GACjFE,EAAGX,MAAQ,CACf,KAAK,GAED,MADAW,GAAGV,KAAK5jE,MAAM,EAAG,EAAG,EAAG,KACf,EAAakkE,EAAI5J,KAAKvzD,GAClC,KAAK,GAED,MADA6vC,GAAM0tB,EAAGT,QACD,EAAcZ,EAAgBrsB,GAC1C,KAAK,GAED,GADAytB,EAAUC,EAAGT,OACTM,EACA,KAAM,IAAIL,GAAgBS,WAAW,kBAEzC,MAAMF,EACV,KAAK,GAED,MADW,QAAXJ,OAA8B,KAAXA,GAA6BA,EAAOvK,oBAAoB,QAAS0K,IAC5E,EACZ,KAAK,GAAG,OAAQ,QAKhCxqE,GAAQiN,QAAUA,CAClB,IAAIi0C,GAAS,SAAU1zC,EAAKsS,EAAM5c,GAE9B,WADgB,KAAZA,IAAsBA,MACnBomE,MAAU,OAAQ,OAAQ,GAAQ,WACrC,GAAIc,GAAIxhE,EAAQuE,EAAMhC,EAASigB,EAAYi/C,EAAQC,EAAKC,EAASC,EAASxtB,EAAK6tB,CAC/E,OAAOhB,GAAYxpE,KAAM,SAAUqqE,GAC/B,OAAQA,EAAGX,OACP,IAAK,GAED,GADAK,EAAKlnE,EAAQ0F,OAAQA,MAAgB,KAAPwhE,EAAgB,OAASA,EAAIj9D,EAAOjK,EAAQiK,KAAMhC,EAAUjI,EAAQiI,QAASigB,EAAaloB,EAAQkoB,WAAYi/C,EAASnnE,EAAQmnE,OAC9I,OAAXA,OAA8B,KAAXA,MAAoB,GAASA,EAAOE,QACvD,KAAM,IAAIL,GAAgBS,WAAW,kBAEzCL,GAAMH,EAAWvhE,EAAQ4E,GACpBme,GAAG,WAAc,OAAO,IACxBm/C,OAAOhrD,EAAKw/B,MAAOx/B,EAAK3S,KAAM2S,EAAK9e,MACpCmM,GACAm9D,EAAIhrB,MAAMnyC,GAEVhC,GACAm/D,EAAIlwD,IAAIjP,GAERigB,GACAk/C,EAAI1tD,GAAG,WAAYwO,GAEvBm/C,GAAU,EACVC,EAAU,WACND,GAAU,EACVD,EAAIM,SAEG,OAAXP,OAA8B,KAAXA,GAA6BA,EAAO72C,iBAAiB,QAASg3C,GACjFE,EAAGX,MAAQ,CACf,KAAK,GAED,MADAW,GAAGV,KAAK5jE,MAAM,EAAG,EAAG,EAAG,KACf,EAAakkE,EACzB,KAAK,GAED,MADAttB,GAAM0tB,EAAGT,QACD,EAAcZ,EAAgBrsB,GAC1C,KAAK,GAED,GADA6tB,EAAUH,EAAGT,OACTM,EACA,KAAM,IAAIL,GAAgBS,WAAW,kBAEzC,MAAME,EACV,KAAK,GAED,MADW,QAAXR,OAA8B,KAAXA,GAA6BA,EAAOvK,oBAAoB,QAAS0K,IAC5E,EACZ,KAAK,GAAG,OAAQ,QAKhCxqE,GAAQkhD,OAASA,G/hB0qxBX,SAAUjhD,EAAQ6E,EAAqBxE,GAE7C,YgiBtyxBA,SAASyqE,GAAUhqE,EAAGgC,GAElB,QAASioE,KAAO3qE,KAAKoQ,YAAc1P,EADnCkqE,EAAclqE,EAAGgC,GAEjBhC,EAAEa,UAAkB,OAANmB,EAAa5B,OAAO6F,OAAOjE,IAAMioE,EAAGppE,UAAYmB,EAAEnB,UAAW,GAAIopE,IA1BnF;;;;;;;;;;;;;;AAgBA,GAAIC,GAAgB,SAASlqE,EAAGgC,GAI5B,OAHAkoE,EAAgB9pE,OAAOkmB,iBAChBG,uBAA2BvhB,QAAS,SAAUlF,EAAGgC,GAAKhC,EAAEymB,UAAYzkB,IACvE,SAAUhC,EAAGgC,GAAK,IAAK,GAAIjB,KAAKiB,GAAO5B,OAAOS,UAAUC,eAAejB,KAAKmC,EAAGjB,KAAIf,EAAEe,GAAKiB,EAAEjB,MAC3Ef,EAAGgC,IASxB4nE,EAA4B,SAAUxnB,GAEtC,QAASwnB,KACL,GAAIO,GAAmB,OAAX/nB,GAAmBA,EAAOlhD,MAAM5B,KAAM2C,YAAc3C,IAEhE,OADA6qE,GAAMlqE,KAAO,aACNkqE,EAEX,MANAH,GAAUJ,EAAYxnB,GAMfwnB,GACT59D,QhiBw0xBI,SAAU9M,EAAQD,EAASM,GAEjC,YAiBA,SAASygB,GAAQlc,GACf,yBAYA,QATEkc,EAD6B,kBAApBod,GAAQC,SAAuD,gBAAtBC,GAAUD,QAClD,SAAiBv5B,GACzB,aAAcA,IAGN,SAAiBA,GACzB,MAAOA,IAAkC,kBAApBs5B,GAAQC,SAA0Bv5B,EAAI4L,cAAgB0tB,EAAQC,SAAWv5B,IAAQs5B,EAAQC,QAAQx8B,UAAY,eAAkBiD,KAIzIA,GiiB/2xBjB,QAASwjB,MA6ET,QAAS8iD,GAAUtmE,GACjB,IAAKqE,EAASrE,GAAM,MAAOA,EAC3B,IAAMqkC,KACN,KAAK,GAAM3lC,KAAOsB,GACZ1D,OAAOS,UAAUC,eAAejB,KAAKiE,EAAKtB,IAC5C6nE,EAAwBliC,EAAO3lC,EAAKsB,EAAItB,GAG5C,OAAO2lC,GAAMp5B,KAAK,KAYpB,QAASs7D,GAAwBliC,EAAO3lC,EAAKm8B,GAC3C,OAAYh3B,KAARg3B,EAAJ,CACA,GAAY,OAARA,EAEF,WADAwJ,GAAM9iC,KAAKilE,UAAU9nE,GAIvB,IAAI0C,MAAMW,QAAQ84B,GAChBA,EAAIvuB,QAAQ,SAAA+N,GACVksD,EAAwBliC,EAAO3lC,EAAK2b,SAEjC,IAAIhW,EAASw2B,GAClB,IAAK,GAAM4rC,KAAU5rC,GAAK,MACpBv+B,QAAOS,UAAUC,eAAejB,KAAK8+B,EAAK4rC,IAC5CF,EAAwBliC,GAAD,yBAAW3lC,EAAX,aAAkB+nE,EAAlB,KAA6B5rC,EAAI4rC,QAG5DpiC,GAAM9iC,KAAKilE,UAAU9nE,GAAO,IAAM+nB,mBAAmBoU,KAkBzD,QAAS6rC,GAAY3tC,GAMnB,IAAK,GAHD4tC,GACA3lC,EAHEhhC,KACAqkC,EAAQtL,EAAI7sB,MAAM,KAIftQ,EAAI,EAAGob,EAAMqtB,EAAMjmC,OAAQxC,EAAIob,IAAOpb,EAC7C+qE,EAAOtiC,EAAMzoC,GACbolC,GAAM2lC,gBAAI,KAAJA,EAAa,MACN,IAAT3lC,EACFhhC,EAAIo5B,mBAAmButC,IAAS,GAEhC3mE,EAAIo5B,oBAAmButC,gBAAI,KAAJA,EAAW,EAAG3lC,KAAS5H,oBAC5CutC,gBAAI,KAAJA,EAAW3lC,EAAM,GAKvB,OAAOhhC,GA8DT,QAAS4mE,GAAY7tC,GAQnB,IAAK,GALDh0B,GACA8hE,EACApsB,EACA5f,EALEisC,EAAQ/tC,EAAI7sB,MAAM,SAClB66D,KAMGnrE,EAAI,EAAGob,EAAM8vD,EAAM1oE,OAAQxC,EAAIob,IAAOpb,EAC7CirE,EAAOC,EAAMlrE,IAEE,KADfmJ,GAAQ8hE,gBAAI,KAAJA,EAAa,QAMrBpsB,GAAQosB,gBAAI,KAAJA,EAAW,EAAG9hE,GAAOgF,cAC7B8wB,EAAMmsC,GAAKH,gBAAI,KAAJA,EAAW9hE,EAAQ,IAC9BgiE,EAAOtsB,GAAS5f,EAGlB,OAAOksC,GAWT,QAASE,GAAOC,GAGd,MAAO,qBAAqBvoD,KAAKuoD,GAiDnC,QAASC,GAAS1B,GAChBjqE,KAAKiqE,IAAMA,EACXjqE,KAAK4rE,IAAM5rE,KAAKiqE,IAAI2B,IAEpB5rE,KAAK2f,KACkB,SAApB3f,KAAKiqE,IAAI1hE,SACmB,KAA1BvI,KAAK4rE,IAAIC,cAAiD,SAA1B7rE,KAAK4rE,IAAIC,mBACX,KAA1B7rE,KAAK4rE,IAAIC,aACZ7rE,KAAK4rE,IAAIp+D,aACT,KACNxN,KAAK8rE,WAAa9rE,KAAKiqE,IAAI2B,IAAIE,UAVV,IAWf1gD,GAAWprB,KAAK4rE,IAAhBxgD,MAES,QAAXA,IACFA,EAAS,KAGXprB,KAAK+rE,qBAAqB3gD,GAC1BprB,KAAK8K,QAAUsgE,EAAYprE,KAAK4rE,IAAII,yBACpChsE,KAAKqrB,OAASrrB,KAAK8K,QAInB9K,KAAKqrB,OAAO,gBAAkBrrB,KAAK4rE,IAAIK,kBAAkB,gBACzDjsE,KAAKksE,qBAAqBlsE,KAAKqrB,QAEb,OAAdrrB,KAAK2f,MAAiBsqD,EAAIkC,cAC5BnsE,KAAK6uD,KAAO7uD,KAAK4rE,IAAIn+D,SAErBzN,KAAK6uD,KACiB,SAApB7uD,KAAKiqE,IAAI1hE,OACL,KACAvI,KAAKosE,WAAWpsE,KAAK2f,KAAO3f,KAAK2f,KAAO3f,KAAK4rE,IAAIn+D,UAoE3D,QAAS4+D,GAAQ9jE,EAAQ4E,GACvB,GAAMpN,GAAOC,IACbA,MAAKssE,OAAStsE,KAAKssE,WACnBtsE,KAAKuI,OAASA,EACdvI,KAAKmN,IAAMA,EACXnN,KAAKqrB,UACLrrB,KAAKusE,WACLvsE,KAAKuc,GAAG,MAAO,WACb,GAAIvO,GAAM,KACN2uC,EAAM,IAEV,KACEA,EAAM,GAAIgvB,GAAS5rE,GACnB,MAAOysE,GAmBP,MAlBAx+D,GAAM,GAAItB,OAAM,0CAChBsB,EAAIL,OAAQ,EACZK,EAAIy+D,SAAWD,EAEXzsE,EAAK6rE,KAEP59D,EAAI0+D,gBAC+B,KAA1B3sE,EAAK6rE,IAAIC,aACZ9rE,EAAK6rE,IAAIp+D,aACTzN,EAAK6rE,IAAIn+D,SAEfO,EAAIod,OAASrrB,EAAK6rE,IAAIxgD,OAASrrB,EAAK6rE,IAAIxgD,OAAS,KACjDpd,EAAID,WAAaC,EAAIod,SAErBpd,EAAI0+D,YAAc,KAClB1+D,EAAIod,OAAS,MAGRrrB,EAAKugB,SAAStS,GAGvBjO,EAAKkjB,KAAK,WAAY05B,EAEtB,IAAIgwB,EACJ,KACO5sE,EAAK6sE,cAAcjwB,KACtBgwB,EAAU,GAAIjgE,OACZiwC,EAAImvB,YAAcnvB,EAAIh9B,MAAQ,+BAGlC,MAAO6sD,GACPG,EAAUH,EAIRG,GACFA,EAAQF,SAAWz+D,EACnB2+D,EAAQl/D,SAAWkvC,EACnBgwB,EAAQvhD,OAASuxB,EAAIvxB,OACrBrrB,EAAKugB,SAASqsD,EAAShwB,IAEvB58C,EAAKugB,SAAS,KAAMq8B,KAuf1B,QAASkwB,GAAI1/D,EAAKL,EAAM/H,GACtB,GAAMklE,GAAMr9D,EAAQ,SAAUO,EAQ9B,OAPoB,kBAATL,KACT/H,EAAK+H,EACLA,EAAO,MAGLA,GAAMm9D,EAAI5J,KAAKvzD,GACf/H,GAAIklE,EAAIxtC,IAAI13B,GACTklE,EjiBi5vBT,GiiB92xBIxqE,GjiB82xBA8E,EAAyBtE,EAAoB,GAE7C69B,EAAUv5B,EAAuBtE,EAAoB,KAErD+9B,EAAYz5B,EAAuBtE,EAAoB,MAEvD6sE,EAAQvoE,EAAuBtE,EAAoB,MAEnD6J,EAAUvF,EAAuBtE,EAAoB,KAErD6b,EAAWvX,EAAuBtE,EAAoB,KAEtDqvC,EAAS/qC,EAAuBtE,EAAoB,IiiBz3xBlC,oBAAX6H,QAETrI,EAAOqI,OACkB,mBAAT/H,OAEhBwL,QAAQC,KACN,uEAEF/L,MAAO,IAGPA,EAAOM,IAGT,IAAMgtE,GAAU/iE,EAAQ,KAClBgjE,EAAgBhjE,EAAQ,KACxBijE,EAAcjjE,EAAQ,KACtBnB,EAAWmB,EAAQ,KACnBkjE,EAAeljE,EAAQ,KACvBmjE,EAAQnjE,EAAQ,IAYtBpK,GAAOD,QAAU,SAAS4I,EAAQ4E,GAEhC,MAAmB,kBAARA,GACF,GAAIxN,GAAQ0sE,QAAQ,MAAO9jE,GAAQk0B,IAAItvB,GAIvB,IAArBxK,UAAUC,OACL,GAAIjD,GAAQ0sE,QAAQ,MAAO9jE,GAG7B,GAAI5I,GAAQ0sE,QAAQ9jE,EAAQ4E,IAGrCxN,EAAUC,EAAOD,OAEjB,IAAMiN,GAAUjN,CAEhBA,GAAQ0sE,QAAUA,EAMlBz/D,EAAQwgE,OAAS,WACf,GACE3tE,EAAK4tE,kBACH5tE,EAAK8xB,UACsB,UAA3B9xB,EAAK8xB,SAASqB,WACbnzB,EAAK4Z,eAER,MAAO,IAAIg0D,eAGb,KACE,MAAO,IAAIh0D,eAAc,qBACzB,UAEF,IACE,MAAO,IAAIA,eAAc,sBACzB,UAEF,IACE,MAAO,IAAIA,eAAc,sBACzB,UAEF,IACE,MAAO,IAAIA,eAAc,kBACzB,UAEF,KAAM,IAAI3M,OAAM,yDAWlB,IAAM8+D,IAAO,iBAAU,SAAA9pE,GAAC,OAAIA,gBAAC,KAADA,IAAW,SAAAA,GAAC,MAAIA,GAAEmgB,QAAQ,eAAgB,IAuDtEjV,GAAQ0gE,gBAAkBxC,EAmC1Bl+D,EAAQs+D,YAAcA,EAStBt+D,EAAQ2gE,OACNz1D,KAAM,YACN0/B,KAAM,mBACNg2B,IAAK,WACLC,WAAY,oCACZC,KAAM,oCACN,YAAa,qCAYf9gE,EAAQk+D,WACN,oCAAqCA,EACrC,mBAAoBkC,GAYtBpgE,EAAQe,OACN,oCAAqCu9D,EACrC,mBAAoBx9D,KAAKC,OAqI3Bu/D,EAAavB,EAASpqE,WAatBoqE,EAASpqE,UAAU6qE,WAAa,SAAS7uC,GACvC,GAAI5vB,GAAQf,EAAQe,MAAM3N,KAAK8W,KAC/B,OAAI9W,MAAKiqE,IAAI0D,QACJ3tE,KAAKiqE,IAAI0D,QAAQ3tE,KAAMu9B,KAG3B5vB,GAAS89D,EAAOzrE,KAAK8W,QACxBnJ,EAAQf,EAAQe,MAAM,qBAGjBA,GAAS4vB,IAAQA,EAAI36B,OAAS,GAAK26B,YAAez8B,SACrD6M,EAAM4vB,GACN,OAUNouC,EAASpqE,UAAUqsE,QAAU,WAAW,QAC9B3D,EAAQjqE,KAARiqE,IACA1hE,EAAW0hE,EAAX1hE,OACA4E,EAAQ88D,EAAR98D,IAEF0gE,GAAM,EAAH,8CAAatlE,EAAb,aAAuB4E,EAAvB,cAA+BnN,KAAKorB,OAApC,KACHpd,EAAM,GAAItB,OAAMmhE,EAKtB,OAJA7/D,GAAIod,OAASprB,KAAKorB,OAClBpd,EAAIzF,OAASA,EACbyF,EAAIb,IAAMA,EAEHa,GAOTpB,EAAQ++D,SAAWA,EA2EnBoB,EAAQV,EAAQ9qE,WAEhB0rE,EAAYZ,EAAQ9qE,WAwBpB8qE,EAAQ9qE,UAAUuV,KAAO,SAASA,GAEhC,MADA9W,MAAK+Z,IAAI,eAAgBnN,EAAQ2gE,MAAMz2D,IAASA,GACzC9W,MAuBTqsE,EAAQ9qE,UAAUusE,OAAS,SAASh3D,GAElC,MADA9W,MAAK+Z,IAAI,SAAUnN,EAAQ2gE,MAAMz2D,IAASA,GACnC9W,MAaTqsE,EAAQ9qE,UAAUwsE,KAAO,SAASp+D,EAAM27B,EAAMzoC,GACnB,IAArBF,UAAUC,SAAc0oC,EAAO,IACf,WAAhB5qB,EAAO4qB,IAA8B,OAATA,IAE9BzoC,EAAUyoC,EACVA,EAAO,IAGJzoC,IACHA,GACEiU,KAAsB,kBAATkqC,MAAsB,QAAU,QAIjD,IAAMgtB,GAAU,SAAAvoD,GACd,GAAoB,kBAATu7B,MACT,MAAOA,MAAKv7B,EAGd,MAAM,IAAI/Y,OAAM,iDAGlB,OAAO1M,MAAKiuE,MAAMt+D,EAAM27B,EAAMzoC,EAASmrE,IAiBzC3B,EAAQ9qE,UAAUsL,MAAQ,SAASwyB,GAGjC,MAFmB,gBAARA,KAAkBA,EAAMyrC,EAAUzrC,IACzCA,GAAKr/B,KAAKssE,OAAOvmE,KAAKs5B,GACnBr/B,MAoBTqsE,EAAQ9qE,UAAUkpE,OAAS,SAASxrB,EAAOx/B,EAAM5c,GAC/C,GAAI4c,EAAM,CACR,GAAIzf,KAAKi8C,MACP,KAAM,IAAIvvC,OAAM,6CAGlB1M,MAAKkuE,eAAeC,OAAOlvB,EAAOx/B,EAAM5c,GAAW4c,EAAK9e,MAG1D,MAAOX,OAGTqsE,EAAQ9qE,UAAU2sE,aAAe,WAK/B,MAJKluE,MAAKouE,YACRpuE,KAAKouE,UAAY,GAAI3uE,GAAK4uE,UAGrBruE,KAAKouE,WAYd/B,EAAQ9qE,UAAU+e,SAAW,SAAStS,EAAK2uC,GACzC,GAAI38C,KAAKsuE,aAAatgE,EAAK2uC,GACzB,MAAO38C,MAAKuuE,QAGd,IAAMxpE,GAAK/E,KAAK0+C,SAChB1+C,MAAKqqC,eAEDr8B,IACEhO,KAAKwuE,cAAaxgE,EAAIygE,QAAUzuE,KAAK0uE,SAAW,GACpD1uE,KAAKijB,KAAK,QAASjV,IAGrBjJ,EAAGiJ,EAAK2uC,IASV0vB,EAAQ9qE,UAAUotE,iBAAmB,WACnC,GAAM3gE,GAAM,GAAItB,OACd,+JAEFsB,GAAI4gE,aAAc,EAElB5gE,EAAIod,OAASprB,KAAKorB,OAClBpd,EAAIzF,OAASvI,KAAKuI,OAClByF,EAAIb,IAAMnN,KAAKmN,IAEfnN,KAAKsgB,SAAStS,IAIhBq+D,EAAQ9qE,UAAUstE,MAAQ,WAExB,MADAtjE,SAAQC,KAAK,0DACNxL,MAGTqsE,EAAQ9qE,UAAUutE,GAAKzC,EAAQ9qE,UAAUstE,MACzCxC,EAAQ9qE,UAAUwrB,OAASs/C,EAAQ9qE,UAAUutE,GAG7CzC,EAAQ9qE,UAAU+W,MAAQ,WACxB,KAAM,IAAI5L,OACR,gEAIJ2/D,EAAQ9qE,UAAUwtE,KAAO1C,EAAQ9qE,UAAU+W,MAU3C+zD,EAAQ9qE,UAAUytE,QAAU,SAASxqE,GAEnC,MACEA,IACe,WAAfkc,EAAOlc,KACNoB,MAAMW,QAAQ/B,IACyB,oBAAxC1D,OAAOS,UAAU0E,SAAS1F,KAAKiE,IAanC6nE,EAAQ9qE,UAAUk7B,IAAM,SAAS13B,GAC3B/E,KAAKivE,YACP1jE,QAAQC,KACN,yEAIJxL,KAAKivE,YAAa,EAGlBjvE,KAAK0+C,UAAY35C,GAAMijB,EAGvBhoB,KAAKkvE,uBAELlvE,KAAKmvE,QAGP9C,EAAQ9qE,UAAU6tE,kBAAoB,WACpC,GAAMrvE,GAAOC,IAGTA,MAAKqvE,iBAAmBrvE,KAAKsvE,sBAC/BtvE,KAAKsvE,oBAAsBh8C,WAAW,WACpCvzB,EAAKwvE,cACH,qBACAxvE,EAAKsvE,eACL,cAEDrvE,KAAKqvE,kBAKZhD,EAAQ9qE,UAAU4tE,KAAO,WACvB,GAAInvE,KAAKwvE,SACP,MAAOxvE,MAAKsgB,SACV,GAAI5T,OAAM,8DAGd,IAAM3M,GAAOC,IACbA,MAAK4rE,IAAMh/D,EAAQwgE,QAPe,IAQ1BxB,GAAQ5rE,KAAR4rE,IACJ9+D,EAAO9M,KAAKouE,WAAapuE,KAAKi8C,KAElCj8C,MAAKyvE,eAGL7D,EAAI8D,mBAAqB,WAAM,GACrBC,GAAe/D,EAAf+D,UAKR,IAJIA,GAAc,GAAK5vE,EAAK6vE,uBAC1BvlC,aAAatqC,EAAK6vE,uBAGD,IAAfD,EAAJ,CAMA,GAAIvkD,EACJ,KACEA,EAASwgD,EAAIxgD,OACb,SACAA,EAAS,EAGX,IAAKA,EAAQ,CACX,GAAIrrB,EAAK8vE,UAAY9vE,EAAKyvE,SAAU,MACpC,OAAOzvE,GAAK4uE,mBAGd5uE,EAAKkjB,KAAK,QAIZ,IAAM6sD,GAAiB,SAACtxB,EAAW5wC,GAC7BA,EAAEm0C,MAAQ,IACZn0C,EAAEo0C,QAAWp0C,EAAEk0C,OAASl0C,EAAEm0C,MAAS,IAEjB,MAAdn0C,EAAEo0C,SACJ3X,aAAatqC,EAAKuvE,sBAItB1hE,EAAE4wC,UAAYA,EACdz+C,EAAKkjB,KAAK,WAAYrV,GAGxB,IAAI5N,KAAK+vE,aAAa,YACpB,IACEnE,EAAIz4C,iBAAiB,WAAY28C,EAAe3tE,KAAK,KAAM,aACvDypE,EAAI/qB,QACN+qB,EAAI/qB,OAAO1tB,iBACT,WACA28C,EAAe3tE,KAAK,KAAM,WAG9B,UAOAypE,EAAI/qB,QACN7gD,KAAKovE,mBAIP,KACMpvE,KAAKo0D,UAAYp0D,KAAK2yD,SACxBiZ,EAAI1yD,KAAKlZ,KAAKuI,OAAQvI,KAAKmN,KAAK,EAAMnN,KAAKo0D,SAAUp0D,KAAK2yD,UAE1DiZ,EAAI1yD,KAAKlZ,KAAKuI,OAAQvI,KAAKmN,KAAK,GAElC,MAAOa,GAEP,MAAOhO,MAAKsgB,SAAStS,GAOvB,GAHIhO,KAAKgwE,mBAAkBpE,EAAIqE,iBAAkB,IAI9CjwE,KAAKouE,WACU,QAAhBpuE,KAAKuI,QACW,SAAhBvI,KAAKuI,QACW,gBAATuE,KACN9M,KAAKgvE,QAAQliE,GACd,CAEA,GAAMojE,GAAclwE,KAAKusE,QAAQ,gBAC7BzB,EACF9qE,KAAKmwE,aACLvjE,EAAQk+D,UAAUoF,EAAcA,EAAYx/D,MAAM,KAAK,GAAK,KACzDo6D,GAAaW,EAAOyE,KACvBpF,EAAYl+D,EAAQk+D,UAAU,qBAG5BA,IAAWh+D,EAAOg+D,EAAUh+D,IAIlC,IAAK,GAAMmyC,KAASj/C,MAAKqrB,OACI,OAAvBrrB,KAAKqrB,OAAO4zB,IAEZn+C,OAAOS,UAAUC,eAAejB,KAAKP,KAAKqrB,OAAQ4zB,IACpD2sB,EAAIwE,iBAAiBnxB,EAAOj/C,KAAKqrB,OAAO4zB,GAGxCj/C,MAAKmsE,gBACPP,EAAIC,aAAe7rE,KAAKmsE,eAI1BnsE,KAAKijB,KAAK,UAAWjjB,MAIrB4rE,EAAIvL,SAAqB,KAATvzD,EAAuB,KAAOA,IAGhDF,EAAQiiE,MAAQ,iBAAM,IAAI1B,KAEzB,MAAO,OAAQ,UAAW,QAAS,MAAO,UAAUr8D,QAAQ,SAAAvI,GAC3D4kE,EAAM5rE,UAAUgH,EAAOgG,eAAiB,SAASpB,EAAKpI,GACpD,GAAMklE,GAAM,GAAIr9D,GAAQy/D,QAAQ9jE,EAAQ4E,EAMxC,OALAnN,MAAKqwE,aAAapG,GACdllE,GACFklE,EAAIxtC,IAAI13B,GAGHklE,KAIXkD,EAAM5rE,UAAUsrE,IAAMM,EAAM5rE,UAAU+uE,OAYtC1jE,EAAQ1L,IAAM,SAACiM,EAAKL,EAAM/H,GACxB,GAAMklE,GAAMr9D,EAAQ,MAAOO,EAQ3B,OAPoB,kBAATL,KACT/H,EAAK+H,EACLA,EAAO,MAGLA,GAAMm9D,EAAIp9D,MAAMC,GAChB/H,GAAIklE,EAAIxtC,IAAI13B,GACTklE,GAaTr9D,EAAQ82B,KAAO,SAACv2B,EAAKL,EAAM/H,GACzB,GAAMklE,GAAMr9D,EAAQ,OAAQO,EAQ5B,OAPoB,kBAATL,KACT/H,EAAK+H,EACLA,EAAO,MAGLA,GAAMm9D,EAAIp9D,MAAMC,GAChB/H,GAAIklE,EAAIxtC,IAAI13B,GACTklE,GAaTr9D,EAAQ/J,QAAU,SAACsK,EAAKL,EAAM/H,GAC5B,GAAMklE,GAAMr9D,EAAQ,UAAWO,EAQ/B,OAPoB,kBAATL,KACT/H,EAAK+H,EACLA,EAAO,MAGLA,GAAMm9D,EAAI5J,KAAKvzD,GACf/H,GAAIklE,EAAIxtC,IAAI13B,GACTklE,GAyBTr9D,EAAQigE,IAAMA,EACdjgE,EAAQ0jE,OAASzD,EAYjBjgE,EAAQ2jE,MAAQ,SAACpjE,EAAKL,EAAM/H,GAC1B,GAAMklE,GAAMr9D,EAAQ,QAASO,EAQ7B,OAPoB,kBAATL,KACT/H,EAAK+H,EACLA,EAAO,MAGLA,GAAMm9D,EAAI5J,KAAKvzD,GACf/H,GAAIklE,EAAIxtC,IAAI13B,GACTklE,GAaTr9D,EAAQ8lB,KAAO,SAACvlB,EAAKL,EAAM/H,GACzB,GAAMklE,GAAMr9D,EAAQ,OAAQO,EAQ5B,OAPoB,kBAATL,KACT/H,EAAK+H,EACLA,EAAO,MAGLA,GAAMm9D,EAAI5J,KAAKvzD,GACf/H,GAAIklE,EAAIxtC,IAAI13B,GACTklE,GAaTr9D,EAAQ4jE,IAAM,SAACrjE,EAAKL,EAAM/H,GACxB,GAAMklE,GAAMr9D,EAAQ,MAAOO,EAQ3B,OAPoB,kBAATL,KACT/H,EAAK+H,EACLA,EAAO,MAGLA,GAAMm9D,EAAI5J,KAAKvzD,GACf/H,GAAIklE,EAAIxtC,IAAI13B,GACTklE,IjiBy2xBH,SAAUrqE,EAAQD,EAASM,GkiB/4zBjCL,EAAOD,QAAU,EAAQ,MliBq5zBnB,SAAUC,EAAQD,EAASM,GmiBr5zBjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GniB45zBX,SAAUpQ,EAAQD,EAASM,GoiB95zBjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBkoE,EAAkB1nE,OAAOxH,SAE7B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAG6jE,IACb,OAAoB,gBAAN7jE,IAAkBA,IAAO8oE,GACjC1oE,EAAc0oE,EAAiB9oE,IAAOskC,IAAQwkC,EAAgBjF,KAAQjjE,EAAS0jC,IpiBs6zBjF,SAAUrsC,EAAQD,EAASM,GqiB96zBjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,UAAUs/B,MriBq7zBlC,SAAU5rE,EAAQD,EAASM,GAEjC,YsiBz7zBA,IAAIovB,GAAI,EAAQ,GACZqhD,EAAQ,EAAQ,KAA4BlF,IAKhDn8C,IAAI5rB,OAAQ,SAAUK,OAAO,EAAMG,OAJN,EAAQ,KAI6B,UAChEunE,KAAM,WACJ,MAAOkF,GAAM1wE,UtiBk8zBX,SAAUJ,EAAQD,EAASM,GuiB38zBjC,GAAI4B,GAAc,EAAQ,GACtByP,EAAyB,EAAQ,IACjCrL,EAAW,EAAQ,IACnB0qE,EAAc,EAAQ,KAEtB9uD,EAAUhgB,EAAY,GAAGggB,SACzB+uD,EAAa,IAAMD,EAAc,IACjCE,EAAQxvD,OAAO,IAAMuvD,EAAaA,EAAa,KAC/CE,EAAQzvD,OAAOuvD,EAAaA,EAAa,MAGzCpnD,EAAe,SAAU/B,GAC3B,MAAO,UAAUuC,GACf,GAAIvE,GAASxf,EAASqL,EAAuB0Y,GAG7C,OAFW,GAAPvC,IAAUhC,EAAS5D,EAAQ4D,EAAQorD,EAAO,KACnC,EAAPppD,IAAUhC,EAAS5D,EAAQ4D,EAAQqrD,EAAO,KACvCrrD,GAIX7lB,GAAOD,SAGL68B,MAAOhT,EAAa,GAGpBiT,IAAKjT,EAAa,GAGlBgiD,KAAMhiD,EAAa,KviBm9zBf,SAAU5pB,EAAQD,EAASM,GwiBh/zBjC,GAAI0vB,GAAuB,EAAQ,KAA8BC,OAC7DhnB,EAAQ,EAAQ,GAChB+nE,EAAc,EAAQ,KAEtBI,EAAM,KAIVnxE,GAAOD,QAAU,SAAUwpB,GACzB,MAAOvgB,GAAM,WACX,QAAS+nE,EAAYxnD,MAChB4nD,EAAI5nD,OAAmB4nD,GACtBphD,GAAwBghD,EAAYxnD,GAAaxoB,OAASwoB,MxiBy/zB9D,SAAUvpB,EAAQD,EAASM,GyiBt/zBjC,QAAS8sE,GAAQvoE,GACf,GAAIA,EAAK,MAAOwnC,GAAMxnC,GAWxB,QAASwnC,GAAMxnC,GACb,IAAK,GAAItB,KAAO6pE,GAAQxrE,UACtBiD,EAAItB,GAAO6pE,EAAQxrE,UAAU2B,EAE/B,OAAOsB,GAzBP5E,EAAOD,QAAUotE,EAqCnBA,EAAQxrE,UAAUgb,GAClBwwD,EAAQxrE,UAAU4xB,iBAAmB,SAASV,EAAO1tB,GAInD,MAHA/E,MAAKyzC,WAAazzC,KAAKyzC,gBACtBzzC,KAAKyzC,WAAW,IAAMhhB,GAASzyB,KAAKyzC,WAAW,IAAMhhB,QACnD1sB,KAAKhB,GACD/E,MAaT+sE,EAAQxrE,UAAU84B,KAAO,SAAS5H,EAAO1tB,GACvC,QAASwX,KACPvc,KAAKu7B,IAAI9I,EAAOlW,GAChBxX,EAAGnD,MAAM5B,KAAM2C,WAKjB,MAFA4Z,GAAGxX,GAAKA,EACR/E,KAAKuc,GAAGkW,EAAOlW,GACRvc,MAaT+sE,EAAQxrE,UAAUg6B,IAClBwxC,EAAQxrE,UAAU85B,eAClB0xC,EAAQxrE,UAAU+5B,mBAClByxC,EAAQxrE,UAAUk+D,oBAAsB,SAAShtC,EAAO1tB,GAItD,GAHA/E,KAAKyzC,WAAazzC,KAAKyzC,eAGnB,GAAK9wC,UAAUC,OAEjB,MADA5C,MAAKyzC,cACEzzC,IAIT,IAAIgxE,GAAYhxE,KAAKyzC,WAAW,IAAMhhB,EACtC,KAAKu+C,EAAW,MAAOhxE,KAGvB,IAAI,GAAK2C,UAAUC,OAEjB,aADO5C,MAAKyzC,WAAW,IAAMhhB,GACtBzyB,IAKT,KAAK,GADDwI,GACKpI,EAAI,EAAGA,EAAI4wE,EAAUpuE,OAAQxC,IAEpC,IADAoI,EAAKwoE,EAAU5wE,MACJ2E,GAAMyD,EAAGzD,KAAOA,EAAI,CAC7BisE,EAAUrvD,OAAOvhB,EAAG,EACpB,OAUJ,MAJyB,KAArB4wE,EAAUpuE,cACL5C,MAAKyzC,WAAW,IAAMhhB,GAGxBzyB,MAWT+sE,EAAQxrE,UAAU0hB,KAAO,SAASwP,GAChCzyB,KAAKyzC,WAAazzC,KAAKyzC,cAKvB,KAAK,GAHDjqC,GAAO,GAAI5D,OAAMjD,UAAUC,OAAS,GACpCouE,EAAYhxE,KAAKyzC,WAAW,IAAMhhB,GAE7BryB,EAAI,EAAGA,EAAIuC,UAAUC,OAAQxC,IACpCoJ,EAAKpJ,EAAI,GAAKuC,UAAUvC,EAG1B,IAAI4wE,EAAW,CACbA,EAAYA,EAAUhrE,MAAM,EAC5B,KAAK,GAAI5F,GAAI,EAAGob,EAAMw1D,EAAUpuE,OAAQxC,EAAIob,IAAOpb,EACjD4wE,EAAU5wE,GAAGwB,MAAM5B,KAAMwJ,GAI7B,MAAOxJ,OAWT+sE,EAAQxrE,UAAUo5B,UAAY,SAASlI,GAErC,MADAzyB,MAAKyzC,WAAazzC,KAAKyzC,eAChBzzC,KAAKyzC,WAAW,IAAMhhB,QAW/Bs6C,EAAQxrE,UAAUwuE,aAAe,SAASt9C,GACxC,QAAUzyB,KAAK26B,UAAUlI,GAAO7vB,SziB6g0B5B,SAAUhD,EAAQD,G0iB/q0BxB,QAASsxE,KACP,OACEC,WAAY1jC,OAAO2jC,iBACnBC,WAAY5jC,OAAO2jC,kBAKvB,QAASvxD,GAAWpb,EAAK+0B,EAAU83C,EAAQxuE,OAClB,KAAZA,IACTA,EAAUouE,KAGZK,EAAO9sE,EAAK,GAAI,SAAO6D,GAAW,EAAGxF,EACrC,IAAI85C,EACJ,KAEIA,EAD2B,IAAzB40B,EAAc3uE,OACV8K,KAAKkS,UAAUpb,EAAK+0B,EAAU83C,GAE9B3jE,KAAKkS,UAAUpb,EAAKgtE,EAAoBj4C,GAAW83C,GAE3D,MAAO5nE,GACP,MAAOiE,MAAKkS,UAAU,uEACtB,QACA,KAAsB,IAAf+gC,EAAI/9C,QAAc,CACvB,GAAI6/C,GAAO9B,EAAI/vC,KACK,KAAhB6xC,EAAK7/C,OACP9B,OAAOC,eAAe0hD,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE7CA,EAAK,GAAGA,EAAK,IAAMA,EAAK,IAI9B,MAAO9F,GAGT,QAAS80B,GAAY5vD,EAASwd,EAAKvgB,EAAG9O,GACpC,GAAI0hE,GAAqB5wE,OAAOiB,yBAAyBiO,EAAQ8O,OAClCzW,KAA3BqpE,EAAmBxwE,IACjBwwE,EAAmB1wE,cACrBF,OAAOC,eAAeiP,EAAQ8O,GAAK3a,MAAO0d,IAC1C8+B,EAAI56C,MAAMiK,EAAQ8O,EAAGugB,EAAKqyC,KAE1BH,EAAcxrE,MAAMs5B,EAAKvgB,EAAG+C,KAG9B7R,EAAO8O,GAAK+C,EACZ8+B,EAAI56C,MAAMiK,EAAQ8O,EAAGugB,KAIzB,QAASiyC,GAAQjyC,EAAKvgB,EAAG6yD,EAAW5yC,EAAO/uB,EAAQiL,EAAOpY,GACxDoY,GAAS,CACT,IAAI7a,EACJ,IAAmB,gBAARi/B,IAA4B,OAARA,EAAc,CAC3C,IAAKj/B,EAAI,EAAGA,EAAI2+B,EAAMn8B,OAAQxC,IAC5B,GAAI2+B,EAAM3+B,KAAOi/B,EAEf,WADAoyC,GAAWG,EAAuBvyC,EAAKvgB,EAAG9O,EAK9C,QACgC,KAAvBnN,EAAQquE,YACfj2D,EAAQpY,EAAQquE,WAGhB,WADAO,GAAWI,EAAoBxyC,EAAKvgB,EAAG9O,EAIzC,QACgC,KAAvBnN,EAAQuuE,YACfO,EAAY,EAAI9uE,EAAQuuE,WAGxB,WADAK,GAAWI,EAAoBxyC,EAAKvgB,EAAG9O,EAMzC,IAFA+uB,EAAMh5B,KAAKs5B,GAEPz5B,MAAMW,QAAQ84B,GAChB,IAAKj/B,EAAI,EAAGA,EAAIi/B,EAAIz8B,OAAQxC,IAC1BkxE,EAAOjyC,EAAIj/B,GAAIA,EAAGA,EAAG2+B,EAAOM,EAAKpkB,EAAOpY,OAErC,CACL,GAAI4D,GAAO3F,OAAO2F,KAAK44B,EACvB,KAAKj/B,EAAI,EAAGA,EAAIqG,EAAK7D,OAAQxC,IAAK,CAChC,GAAI8C,GAAMuD,EAAKrG,EACfkxE,GAAOjyC,EAAIn8B,GAAMA,EAAK9C,EAAG2+B,EAAOM,EAAKpkB,EAAOpY,IAGhDk8B,EAAMnuB,OAKV,QAASkhE,GAAiBrvE,EAAGC,GAC3B,MAAID,GAAIC,GACE,EAEND,EAAIC,EACC,EAEF,EAGT,QAASqvE,GAAwBvtE,EAAK+0B,EAAU83C,EAAQxuE,OAC/B,KAAZA,IACTA,EAAUouE,IAGZ,IACIt0B,GADAq1B,EAAMC,EAAoBztE,EAAK,GAAI,SAAO6D,GAAW,EAAGxF,IAAY2B,CAExE,KAEIm4C,EAD2B,IAAzB40B,EAAc3uE,OACV8K,KAAKkS,UAAUoyD,EAAKz4C,EAAU83C,GAE9B3jE,KAAKkS,UAAUoyD,EAAKR,EAAoBj4C,GAAW83C,GAE3D,MAAO5nE,GACP,MAAOiE,MAAKkS,UAAU,uEACtB,QAEA,KAAsB,IAAf+gC,EAAI/9C,QAAc,CACvB,GAAI6/C,GAAO9B,EAAI/vC,KACK,KAAhB6xC,EAAK7/C,OACP9B,OAAOC,eAAe0hD,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE7CA,EAAK,GAAGA,EAAK,IAAMA,EAAK,IAI9B,MAAO9F,GAGT,QAASs1B,GAAqB5yC,EAAKvgB,EAAG6yD,EAAW5yC,EAAO/uB,EAAQiL,EAAOpY,GACrEoY,GAAS,CACT,IAAI7a,EACJ,IAAmB,gBAARi/B,IAA4B,OAARA,EAAc,CAC3C,IAAKj/B,EAAI,EAAGA,EAAI2+B,EAAMn8B,OAAQxC,IAC5B,GAAI2+B,EAAM3+B,KAAOi/B,EAEf,WADAoyC,GAAWG,EAAuBvyC,EAAKvgB,EAAG9O,EAI9C,KACE,GAA0B,kBAAfqvB,GAAIz1B,OACb,OAEF,MAAOH,GACP,OAGF,OACgC,KAAvB5G,EAAQquE,YACfj2D,EAAQpY,EAAQquE,WAGhB,WADAO,GAAWI,EAAoBxyC,EAAKvgB,EAAG9O,EAIzC,QACgC,KAAvBnN,EAAQuuE,YACfO,EAAY,EAAI9uE,EAAQuuE,WAGxB,WADAK,GAAWI,EAAoBxyC,EAAKvgB,EAAG9O,EAMzC,IAFA+uB,EAAMh5B,KAAKs5B,GAEPz5B,MAAMW,QAAQ84B,GAChB,IAAKj/B,EAAI,EAAGA,EAAIi/B,EAAIz8B,OAAQxC,IAC1B6xE,EAAoB5yC,EAAIj/B,GAAIA,EAAGA,EAAG2+B,EAAOM,EAAKpkB,EAAOpY,OAElD,CAEL,GAAImvE,MACAvrE,EAAO3F,OAAO2F,KAAK44B,GAAKrK,KAAK88C,EACjC,KAAK1xE,EAAI,EAAGA,EAAIqG,EAAK7D,OAAQxC,IAAK,CAChC,GAAI8C,GAAMuD,EAAKrG,EACf6xE,GAAoB5yC,EAAIn8B,GAAMA,EAAK9C,EAAG2+B,EAAOM,EAAKpkB,EAAOpY,GACzDmvE,EAAI9uE,GAAOm8B,EAAIn8B,GAEjB,OAAsB,KAAX8M,EAIT,MAAOgiE,EAHPrxB,GAAI56C,MAAMiK,EAAQ8O,EAAGugB,IACrBrvB,EAAO8O,GAAKkzD,EAKhBjzC,EAAMnuB,OAMV,QAAS4gE,GAAqBj4C,GAO5B,MANAA,OACsB,KAAbA,EACHA,EACA,SAAUza,EAAGD,GACb,MAAOA,IAEN,SAAU3b,EAAKm8B,GACpB,GAAIkyC,EAAc3uE,OAAS,EACzB,IAAK,GAAIxC,GAAI,EAAGA,EAAImxE,EAAc3uE,OAAQxC,IAAK,CAC7C,GAAIqiD,GAAO8uB,EAAcnxE,EACzB,IAAIqiD,EAAK,KAAOv/C,GAAOu/C,EAAK,KAAOpjB,EAAK,CACtCA,EAAMojB,EAAK,GACX8uB,EAAc5vD,OAAOvhB,EAAG,EACxB,QAIN,MAAOm5B,GAASh5B,KAAKP,KAAMkD,EAAKm8B,IAlOpCz/B,EAAOD,QAAUigB,EACjBA,EAAUme,QAAUne,EACpBA,EAAUsyD,OAASH,EACnBnyD,EAAUuyD,gBAAkBJ,CAE5B,IAAIF,GAAqB,QACrBD,EAAwB,aAExBjxB,KACA4wB,M1iB450BE,SAAU3xE,EAAQD,EAASM,GAEjC,YAqBA,SAASygB,GAAQlc,GACf,yBAYA,QATEkc,EAD6B,kBAApBod,GAAQC,SAAuD,gBAAtBC,GAAUD,QAClD,SAAiBv5B,GACzB,aAAcA,IAGN,SAAiBA,GACzB,MAAOA,IAAkC,kBAApBs5B,GAAQC,SAA0Bv5B,EAAI4L,cAAgB0tB,EAAQC,SAAWv5B,IAAQs5B,EAAQC,QAAQx8B,UAAY,eAAkBiD,KAIzIA,G2iBx70BjB,QAASyoE,GAAYzoE,GACnB,GAAIA,EAAK,MAAOwnC,GAAMxnC,GAWxB,QAASwnC,GAAMxnC,GACb,IAAK,GAAMtB,KAAO+pE,GAAY1rE,UACxBT,OAAOS,UAAUC,eAAejB,KAAK0sE,EAAY1rE,UAAW2B,KAC9DsB,EAAItB,GAAO+pE,EAAY1rE,UAAU2B,GAGrC,OAAOsB,G3iBu40BT,GAAID,GAAyBtE,EAAoB,GAE7C69B,EAAUv5B,EAAuBtE,EAAoB,KAErD+9B,EAAYz5B,EAAuBtE,EAAoB,MAEvDmyE,EAAY7tE,EAAuBtE,EAAoB,MAEvD8J,EAAWxF,EAAuBtE,EAAoB,KAEtD6J,EAAUvF,EAAuBtE,EAAoB,KAErD6b,EAAWvX,EAAuBtE,EAAoB,KAEtDqvC,EAAS/qC,EAAuBtE,EAAoB,KAEpDoyE,EAAQ9tE,EAAuBtE,EAAoB,M2iBv70BjD4I,EAAWmB,EAAQ,IAMzBpK,GAAOD,QAAUstE,EAoCjBA,EAAY1rE,UAAU8oC,aAAe,WAOnC,MANAA,cAAarqC,KAAKsyE,QAClBjoC,aAAarqC,KAAK4vE,uBAClBvlC,aAAarqC,KAAKsvE,2BACXtvE,MAAKsyE,aACLtyE,MAAK4vE,4BACL5vE,MAAKsvE,oBACLtvE,MAYTitE,EAAY1rE,UAAUoM,MAAQ,SAAS5I,GAErC,MADA/E,MAAK2tE,QAAU5oE,EACR/E,MAqBTitE,EAAY1rE,UAAUsqE,aAAe,SAASxsC,GAE5C,MADAr/B,MAAKmsE,cAAgB9sC,EACdr/B,MAYTitE,EAAY1rE,UAAUupE,UAAY,SAAS/lE,GAEzC,MADA/E,MAAKmwE,YAAcprE,EACZ/E,MAiBTitE,EAAY1rE,UAAU0L,QAAU,SAASpK,GACvC,IAAKA,GAA8B,WAAnB6d,EAAO7d,GAIrB,MAHA7C,MAAKuyE,SAAW1vE,EAChB7C,KAAKwyE,iBAAmB,EACxBxyE,KAAKqvE,eAAiB,EACfrvE,IAGT,KAAK,GAAMozD,KAAUvwD,GACnB,GAAI/B,OAAOS,UAAUC,eAAejB,KAAKsC,EAASuwD,GAChD,OAAQA,GACN,IAAK,WACHpzD,KAAKuyE,SAAW1vE,EAAQ4vE,QACxB,MACF,KAAK,WACHzyE,KAAKwyE,iBAAmB3vE,EAAQ4K,QAChC,MACF,KAAK,SACHzN,KAAKqvE,eAAiBxsE,EAAQg+C,MAC9B,MACF,SACEt1C,QAAQC,KAAK,yBAA0B4nD,GAK/C,MAAOpzD,OAcTitE,EAAY1rE,UAAUmxE,MAAQ,SAASvnD,EAAOpmB,GAO5C,MALyB,KAArBpC,UAAUC,SAA0B,IAAVuoB,IAAgBA,EAAQ,GAClDA,GAAS,IAAGA,EAAQ,GACxBnrB,KAAKwuE,YAAcrjD,EACnBnrB,KAAK0uE,SAAW,EAChB1uE,KAAK2yE,eAAiB5tE,EACf/E,KAGT,IAAM4yE,IAAe,aAAc,YAAa,YAAa,kBAU7D3F,GAAY1rE,UAAU+sE,aAAe,SAAStgE,EAAK2uC,GACjD,IAAK38C,KAAKwuE,aAAexuE,KAAK0uE,YAAc1uE,KAAKwuE,YAC/C,OAAO,CAGT,IAAIxuE,KAAK2yE,eACP,IACE,GAAME,GAAW7yE,KAAK2yE,eAAe3kE,EAAK2uC,EAC1C,KAAiB,IAAbk2B,EAAmB,OAAO,CAC9B,KAAiB,IAAbA,EAAoB,OAAO,EAE/B,MAAOrG,GACPjhE,QAAQ5G,MAAM6nE,GAIlB,GAAI7vB,GAAOA,EAAIvxB,QAAUuxB,EAAIvxB,QAAU,KAAsB,MAAfuxB,EAAIvxB,OAAgB,OAAO,CACzE,IAAIpd,EAAK,CACP,GAAIA,EAAIV,OAAQslE,gBAAW,KAAXA,EAAqB5kE,EAAIV,MAAO,OAAO,CAEvD,IAAIU,EAAIf,SAAwB,iBAAbe,EAAIV,KAAyB,OAAO,CACvD,IAAIU,EAAI4gE,YAAa,OAAO,EAG9B,OAAO,GAUT3B,EAAY1rE,UAAUgtE,OAAS,WAa7B,MAZAvuE,MAAKqqC,eAGDrqC,KAAKiqE,MACPjqE,KAAKiqE,IAAM,KACXjqE,KAAKiqE,IAAMjqE,KAAK4M,WAGlB5M,KAAKwvE,UAAW,EAChBxvE,KAAK6vE,UAAW,EAChB7vE,KAAK8yE,cAAgB,KAEd9yE,KAAKmvE,QAWdlC,EAAY1rE,UAAUuK,KAAO,SAASD,EAAS6K,GAAQ,UACrD,KAAK1W,KAAK+yE,mBAAoB,CAC5B,GAAMhzE,GAAOC,IACTA,MAAKivE,YACP1jE,QAAQC,KACN,kIAIJxL,KAAK+yE,mBAAqB,GAAI,GAAJ,QAAY,SAAClnE,EAAS6K,GAC9C3W,EAAKwc,GAAG,QAAS,WACf,KAAIsuD,EAAK2D,aAAe3D,EAAK2D,YAAc3D,EAAK6D,UAAhD,CAIA,GAAI7D,EAAKgF,UAAYhF,EAAKiI,cAExB,WADAp8D,GAAOm0D,EAAKiI,cAId,IAAM9kE,GAAM,GAAItB,OAAM,UACtBsB,GAAIV,KAAO,UACXU,EAAIod,OAASy/C,EAAKz/C,OAClBpd,EAAIzF,OAASsiE,EAAKtiE,OAClByF,EAAIb,IAAM09D,EAAK19D,IACfuJ,EAAO1I,MAETjO,EAAK08B,IAAI,SAACzuB,EAAK2uC,GACT3uC,EAAK0I,EAAO1I,GACXnC,EAAQ8wC,OAKnB,MAAO38C,MAAK+yE,mBAAmBjnE,KAAKD,EAAS6K,IAG/Cu2D,EAAY1rE,UAAU6L,MAAQ,SAAS5E,GACrC,MAAOxI,MAAK8L,SAAKzD,GAAWG,IAO9BykE,EAAY1rE,UAAUyxE,IAAM,SAASjuE,GAEnC,MADAA,GAAG/E,MACIA,MAGTitE,EAAY1rE,UAAU+pB,GAAK,SAAS9iB,GAClC,GAAkB,kBAAPA,GAAmB,KAAM,IAAIkE,OAAM,oBAE9C,OADA1M,MAAKizE,YAAczqE,EACZxI,MAGTitE,EAAY1rE,UAAUqrE,cAAgB,SAASjwB,GAC7C,QAAKA,IAID38C,KAAKizE,YACAjzE,KAAKizE,YAAYt2B,GAGnBA,EAAIvxB,QAAU,KAAOuxB,EAAIvxB,OAAS,MAY3C6hD,EAAY1rE,UAAUL,IAAM,SAAS+9C,GACnC,MAAOj/C,MAAKusE,QAAQttB,EAAM1wC,gBAe5B0+D,EAAY1rE,UAAU2xE,UAAYjG,EAAY1rE,UAAUL,IAuBxD+rE,EAAY1rE,UAAUwY,IAAM,SAASklC,EAAO5f,GAC1C,GAAIx2B,EAASo2C,GAAQ,CACnB,IAAK,GAAM/7C,KAAO+7C,GACZn+C,OAAOS,UAAUC,eAAejB,KAAK0+C,EAAO/7C,IAC9ClD,KAAK+Z,IAAI7W,EAAK+7C,EAAM/7C,GAGxB,OAAOlD,MAKT,MAFAA,MAAKusE,QAAQttB,EAAM1wC,eAAiB8wB,EACpCr/B,KAAKqrB,OAAO4zB,GAAS5f,EACdr/B,MAeTitE,EAAY1rE,UAAUoqD,MAAQ,SAAS1M,GAGrC,aAFOj/C,MAAKusE,QAAQttB,EAAM1wC,qBACnBvO,MAAKqrB,OAAO4zB,GACZj/C,MAsBTitE,EAAY1rE,UAAU09C,MAAQ,SAASt+C,EAAM0+B,GAE3C,GAAa,OAAT1+B,OAAiB0H,KAAc1H,EACjC,KAAM,IAAI+L,OAAM,0CAGlB,IAAI1M,KAAKi8C,MACP,KAAM,IAAIvvC,OACR,kGAIJ,IAAI7D,EAASlI,GAAO,CAClB,IAAK,GAAMuC,KAAOvC,GACZG,OAAOS,UAAUC,eAAejB,KAAKI,EAAMuC,IAC7ClD,KAAKi/C,MAAM/7C,EAAKvC,EAAKuC,GAGzB,OAAOlD,MAGT,GAAI4F,MAAMW,QAAQ84B,GAAM,CACtB,IAAK,GAAMj/B,KAAKi/B,GACVv+B,OAAOS,UAAUC,eAAejB,KAAK8+B,EAAKj/B,IAC5CJ,KAAKi/C,MAAMt+C,EAAM0+B,EAAIj/B,GAGzB,OAAOJ,MAIT,GAAY,OAARq/B,OAAgBh3B,KAAcg3B,EAChC,KAAM,IAAI3yB,OAAM,yCAQlB,OALmB,iBAAR2yB,KACTA,EAAMt2B,OAAOs2B,IAGfr/B,KAAKkuE,eAAeC,OAAOxtE,EAAM0+B,GAC1Br/B,MASTitE,EAAY1rE,UAAUgpE,MAAQ,WAC5B,MAAIvqE,MAAKwvE,SACAxvE,MAGTA,KAAKwvE,UAAW,EACZxvE,KAAK4rE,KAAK5rE,KAAK4rE,IAAIrB,QACnBvqE,KAAKiqE,KAAKjqE,KAAKiqE,IAAIM,QACvBvqE,KAAKqqC,eACLrqC,KAAKijB,KAAK,SACHjjB,OAGTitE,EAAY1rE,UAAU0sE,MAAQ,SAASt+D,EAAM27B,EAAMzoC,EAASswE,GAAe,KACzE,QAAQtwE,EAAQiU,MACd,IAAK,QACH9W,KAAK+Z,IAAI,gBAAT,gBAAmCo5D,GAAc,EAAD,uBAAIxjE,EAAJ,aAAY27B,KAC5D,MAEF,KAAK,OACHtrC,KAAKo0D,SAAWzkD,EAChB3P,KAAK2yD,SAAWrnB,CAChB,MAEF,KAAK,SACHtrC,KAAK+Z,IAAI,gBAAT,iBAAoCpK,IAMxC,MAAO3P,OAcTitE,EAAY1rE,UAAU0uE,gBAAkB,SAAS1zD,GAI/C,WAFWlU,KAAPkU,IAAkBA,GAAK,GAC3Bvc,KAAKgwE,iBAAmBzzD,EACjBvc,MAWTitE,EAAY1rE,UAAU6xE,UAAY,SAASjyE,GAEzC,MADAnB,MAAKqzE,cAAgBlyE,EACdnB,MAUTitE,EAAY1rE,UAAU+xE,gBAAkB,SAASnyE,GAC/C,GAAiB,gBAANA,GACT,KAAM,IAAI8H,WAAU,mBAItB,OADAjJ,MAAKuzE,iBAAmBpyE,EACjBnB,MAYTitE,EAAY1rE,UAAUqI,OAAS,WAC7B,OACErB,OAAQvI,KAAKuI,OACb4E,IAAKnN,KAAKmN,IACVL,KAAM9M,KAAKi8C,MACXnxC,QAAS9K,KAAKusE,UA6ClBU,EAAY1rE,UAAU8+D,KAAO,SAASvzD,GACpC,GAAM0mE,GAAQ3qE,EAASiE,GACnBgK,EAAO9W,KAAKusE,QAAQ,eAExB,IAAIvsE,KAAKouE,UACP,KAAM,IAAI1hE,OACR,+GAIJ,IAAI8mE,IAAUxzE,KAAKi8C,MACbr2C,MAAMW,QAAQuG,GAChB9M,KAAKi8C,SACKj8C,KAAKgvE,QAAQliE,KACvB9M,KAAKi8C,cAEF,IAAInvC,GAAQ9M,KAAKi8C,OAASj8C,KAAKgvE,QAAQhvE,KAAKi8C,OACjD,KAAM,IAAIvvC,OAAM,+BAIlB,IAAI8mE,GAAS3qE,EAAS7I,KAAKi8C,OACzB,IAAK,GAAM/4C,KAAO4J,GACZhM,OAAOS,UAAUC,eAAejB,KAAKuM,EAAM5J,KAC7ClD,KAAKi8C,MAAM/4C,GAAO4J,EAAK5J,QAEtB,IAAoB,gBAAT4J,GAIhB,GAFKgK,GAAM9W,KAAK8W,KAAK,QAER,uCADbA,EAAO9W,KAAKusE,QAAQ,iBAC8B,MAChDvsE,MAAKi8C,MAAQj8C,KAAKi8C,OAAL,yBAAgBj8C,KAAKi8C,MAArB,aAA8BnvC,GAASA,MAEpD9M,MAAKi8C,OAASj8C,KAAKi8C,OAAS,IAAMnvC,MAGpC9M,MAAKi8C,MAAQnvC,CAGf,QAAK0mE,GAASxzE,KAAKgvE,QAAQliE,GAClB9M,MAIJ8W,GAAM9W,KAAK8W,KAAK,QACd9W,OA+BTitE,EAAY1rE,UAAUkyE,UAAY,SAASz+C,GAGzC,MADAh1B,MAAKqyE,UAAwB,KAATr9C,GAA8BA,EAC3Ch1B,MAQTitE,EAAY1rE,UAAU2tE,qBAAuB,WAC3C,GAAMriE,GAAQ7M,KAAKssE,OAAO78D,KAAK,IAC/B,IAAI5C,EAAO,MACT7M,MAAKmN,OAAQ,eAAAnN,KAAKmN,KAAL,OAAkB,KAAO,IAAM,KAAON,EAKrD,GAFA7M,KAAKssE,OAAO1pE,OAAS,EAEjB5C,KAAKqyE,MAAO,OACR9oE,GAAQ,eAAAvJ,KAAKmN,KAAL,OAAiB,IAC/B,IAAI5D,GAAS,EAAG,SACRmqE,GAAW,eAAA1zE,KAAKmN,KAAL,OAAe5D,EAAQ,GAAGmH,MAAM,IACvB,mBAAf1Q,MAAKqyE,OACdqB,gBAAQ,KAARA,EAAc1zE,KAAKqyE,QAEnBqB,gBAAQ,KAARA,GAGF1zE,KAAKmN,KAAM,eAAAnN,KAAKmN,KAAL,OAAe,EAAG5D,GAAS,IAAMmqE,EAASjkE,KAAK,QAMhEw9D,EAAY1rE,UAAUoyE,mBAAqB,WACzCpoE,QAAQC,KAAK,gBASfyhE,EAAY1rE,UAAUguE,cAAgB,SAAShtC,EAAQt1B,EAAS2mE,GAC9D,IAAI5zE,KAAKwvE,SAAT,CAIA,GAAMxhE,GAAM,GAAItB,OAAJ,UAAa61B,EAASt1B,EAAtB,eACZe,GAAIf,QAAUA,EACde,EAAIV,KAAO,eACXU,EAAI4lE,MAAQA,EACZ5zE,KAAK6vE,UAAW,EAChB7vE,KAAK8yE,cAAgB9kE,EACrBhO,KAAKuqE,QACLvqE,KAAKsgB,SAAStS,KAGhBi/D,EAAY1rE,UAAUkuE,aAAe,WACnC,GAAM1vE,GAAOC,IAGTA,MAAKuyE,WAAavyE,KAAKsyE,SACzBtyE,KAAKsyE,OAASh/C,WAAW,WACvBvzB,EAAKwvE,cAAc,cAAexvE,EAAKwyE,SAAU,UAChDvyE,KAAKuyE,WAINvyE,KAAKwyE,mBAAqBxyE,KAAK4vE,wBACjC5vE,KAAK4vE,sBAAwBt8C,WAAW,WACtCvzB,EAAKwvE,cACH,uBACAxvE,EAAKyyE,iBACL,cAEDxyE,KAAKwyE,qB3iB690BN,SAAU5yE,EAAQD,EAASM,G4iB1s2BjCL,EAAOD,QAAU,EAAQ,M5iBgt2BnB,SAAUC,EAAQD,EAASM,G6iBht2BjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G7iBut2BX,SAAUpQ,EAAQD,EAASM,G8iBzt2BjC,GAAI8H,GAAgB,EAAQ,IACxB8rE,EAAc,EAAQ,KACtBC,EAAe,EAAQ,KAEvB9kD,EAAiBppB,MAAMrE,UACvBkvE,EAAkB1nE,OAAOxH,SAE7B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAG0kB,QACb,OAAI1kB,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAe3C,SAAkBwnD,EAC3F,gBAANlsE,IAAkBA,IAAO8oE,GAAoB1oE,EAAc0oE,EAAiB9oE,IAAOskC,IAAQwkC,EAAgBpkD,SAC7GynD,EACA7nC,I9iBiu2BL,SAAUrsC,EAAQD,EAASM,G+iB7u2BjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAAS7f,U/iBov2BjC,SAAUzsB,EAAQD,EAASM,GAEjC,YgjBxv2BA,IAAIovB,GAAI,EAAQ,GACZ0kD,EAAY,EAAQ,KAA+B1nD,SACnDzjB,EAAQ,EAAQ,GAChB6Q,EAAmB,EAAQ,IAS/B4V,IAAI5rB,OAAQ,QAASK,OAAO,EAAMG,OANX2E,EAAM,WAC3B,OAAQhD,MAAM,GAAGymB,eAMjBA,SAAU,SAAkBD,GAC1B,MAAO2nD,GAAU/zE,KAAMosB,EAAIzpB,UAAUC,OAAS,EAAID,UAAU,OAAK0F,OAKrEoR,EAAiB,ahjB+v2BX,SAAU7Z,EAAQD,EAASM,GijBnx2BjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,UAAU7f,UjjB0x2BlC,SAAUzsB,EAAQD,EAASM,GAEjC,YkjB9x2BA,IAAIovB,GAAI,EAAQ,GACZxtB,EAAc,EAAQ,GACtBmyE,EAAa,EAAQ,KACrB1iE,EAAyB,EAAQ,IACjCrL,EAAW,EAAQ,IACnBguE,EAAuB,EAAQ,KAE/BC,EAAgBryE,EAAY,GAAGyqB,QAInC+C,IAAI5rB,OAAQ,SAAUK,OAAO,EAAMG,QAASgwE,EAAqB,cAC/D5nD,SAAU,SAAkB8nD,GAC1B,SAAUD,EACRjuE,EAASqL,EAAuBtR,OAChCiG,EAAS+tE,EAAWG,IACpBxxE,UAAUC,OAAS,EAAID,UAAU,OAAK0F,QljBwy2BtC,SAAUzI,EAAQD,EAASM,GmjBzz2BjC,GAAIse,GAAW,EAAQ,KAEnBvV,EAAaC,SAEjBrJ,GAAOD,QAAU,SAAUgI,GACzB,GAAI4W,EAAS5W,GACX,KAAMqB,GAAW,gDACjB,OAAOrB,KnjBi02BL,SAAU/H,EAAQD,EAASM,GojBx02BjC,GAAI4I,GAAW,EAAQ,IACnB2J,EAAU,EAAQ,IAClByD,EAAkB,EAAQ,GAE1Bm+D,EAAQn+D,EAAgB,QAI5BrW,GAAOD,QAAU,SAAUgI,GACzB,GAAI4W,EACJ,OAAO1V,GAASlB,SAAmCU,MAA1BkW,EAAW5W,EAAGysE,MAA0B71D,EAA0B,UAAf/L,EAAQ7K,MpjBg12BhF,SAAU/H,EAAQD,EAASM,GqjB112BjC,GAAIgW,GAAkB,EAAQ,GAE1Bm+D,EAAQn+D,EAAgB,QAE5BrW,GAAOD,QAAU,SAAUwpB,GACzB,GAAIkrD,GAAS,GACb,KACE,MAAMlrD,GAAakrD,GACnB,MAAOC,GACP,IAEE,MADAD,GAAOD,IAAS,EACT,MAAMjrD,GAAakrD,GAC1B,MAAOE,KACT,OAAO,IrjBk22BL,SAAU30E,EAAQD,EAASM,GsjB/22BjCL,EAAOD,QAAU,EAAQ,MtjBq32BnB,SAAUC,EAAQD,EAASM,GujBr32BjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GvjB432BX,SAAUpQ,EAAQD,EAASM,GwjB932BjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAGqtB,IACb,OAAOrtB,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAegG,KAAQzsB,EAAS0jC,IxjBs42B1G,SAAUrsC,EAAQD,EAASM,GyjB742BjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAASlX,MzjBo52BjC,SAAUp1B,EAAQD,EAASM,GAEjC,Y0jBx52BA,IAAIovB,GAAI,EAAQ,GACZxtB,EAAc,EAAQ,GACtB0U,EAAY,EAAQ,IACpBvO,EAAW,EAAQ,IACnB0b,EAAoB,EAAQ,IAC5B8wD,EAAwB,EAAQ,KAChCvuE,EAAW,EAAQ,IACnB2C,EAAQ,EAAQ,GAChB6rE,EAAe,EAAQ,KACvBpoC,EAAsB,EAAQ,KAC9B6Y,EAAK,EAAQ,KACbwvB,EAAa,EAAQ,KACrBC,EAAK,EAAQ,IACbC,EAAS,EAAQ,KAEjBzxD,KACA0xD,EAAUhzE,EAAYshB,EAAK6R,MAC3BjvB,EAAOlE,EAAYshB,EAAKpd,MAGxB+uE,EAAqBlsE,EAAM,WAC7Bua,EAAK6R,SAAK3sB,MAGR0sE,EAAgBnsE,EAAM,WACxBua,EAAK6R,KAAK,QAGRwX,EAAgBH,EAAoB,QAEpC2oC,GAAepsE,EAAM,WAEvB,GAAI+rE,EAAI,MAAOA,GAAK,EACpB,MAAIzvB,GAAMA,EAAK,GAAf,CACA,GAAIwvB,EAAY,OAAO,CACvB,IAAIE,EAAQ,MAAOA,GAAS,GAE5B,IACItnE,GAAM2nE,EAAK9wE,EAAOoF,EADlB8M,EAAS,EAIb,KAAK/I,EAAO,GAAIA,EAAO,GAAIA,IAAQ,CAGjC,OAFA2nE,EAAMlsE,OAAO80B,aAAavwB,GAElBA,GACN,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAAInJ,EAAQ,CAAG,MAC/C,KAAK,IAAI,IAAK,IAAIA,EAAQ,CAAG,MAC7B,SAASA,EAAQ,EAGnB,IAAKoF,EAAQ,EAAGA,EAAQ,GAAIA,IAC1B4Z,EAAKpd,MAAO+Y,EAAGm2D,EAAM1rE,EAAOsV,EAAG1a,IAMnC,IAFAgf,EAAK6R,KAAK,SAAUvyB,EAAGC,GAAK,MAAOA,GAAEmc,EAAIpc,EAAEoc,IAEtCtV,EAAQ,EAAGA,EAAQ4Z,EAAKvgB,OAAQ2G,IACnC0rE,EAAM9xD,EAAK5Z,GAAOuV,EAAEnS,OAAO,GACvB0J,EAAO1J,OAAO0J,EAAOzT,OAAS,KAAOqyE,IAAK5+D,GAAU4+D,EAG1D,OAAkB,gBAAX5+D,KAKL6+D,EAAiB,SAAUC,GAC7B,MAAO,UAAUlmE,EAAGm/B,GAClB,WAAU/lC,KAAN+lC,GAAyB,MACnB/lC,KAAN4G,EAAwB,MACV5G,KAAd8sE,GAAiCA,EAAUlmE,EAAGm/B,IAAM,EACjDnoC,EAASgJ,GAAKhJ,EAASmoC,GAAK,GAAK,GAM5C/e,IAAI5rB,OAAQ,QAASK,OAAO,EAAMG,OAbrB6wE,IAAuBC,IAAkBvoC,IAAkBwoC,IActEhgD,KAAM,SAAcmgD,OACA9sE,KAAd8sE,GAAyB5+D,EAAU4+D,EAEvC,IAAI/rD,GAAQphB,EAAShI,KAErB,IAAIg1E,EAAa,WAAqB3sE,KAAd8sE,EAA0BN,EAAQzrD,GAASyrD,EAAQzrD,EAAO+rD,EAElF,IAEIC,GAAa7rE,EAFb8rE,KACAC,EAAc5xD,EAAkB0F,EAGpC,KAAK7f,EAAQ,EAAGA,EAAQ+rE,EAAa/rE,IAC/BA,IAAS6f,IAAOrjB,EAAKsvE,EAAOjsD,EAAM7f,GAQxC,KALAkrE,EAAaY,EAAOH,EAAeC,IAEnCC,EAAcC,EAAMzyE,OACpB2G,EAAQ,EAEDA,EAAQ6rE,GAAahsD,EAAM7f,GAAS8rE,EAAM9rE,IACjD,MAAOA,EAAQ+rE,GAAad,EAAsBprD,EAAO7f,IAEzD,OAAO6f,O1jBi62BL,SAAUxpB,EAAQD,EAASM,GAEjC,Y2jBzg3BA,IAAIuO,GAAc,EAAQ,IAEtBxF,EAAaC,SAEjBrJ,GAAOD,QAAU,SAAUoS,EAAGC,GAC5B,UAAYD,GAAEC,GAAI,KAAMhJ,GAAW,0BAA4BwF,EAAYwD,GAAK,OAASxD,EAAYuD,M3jBih3BjG,SAAUnS,EAAQD,EAASM,G4jBvh3BjC,GAAI0xB,GAAa,EAAQ,KAErB2D,EAAQhuB,KAAKguB,MAEbigD,EAAY,SAAUnsD,EAAO+rD,GAC/B,GAAIvyE,GAASwmB,EAAMxmB,OACf4yE,EAASlgD,EAAM1yB,EAAS,EAC5B,OAAOA,GAAS,EAAI6yE,EAAcrsD,EAAO+rD,GAAaO,EACpDtsD,EACAmsD,EAAU5jD,EAAWvI,EAAO,EAAGosD,GAASL,GACxCI,EAAU5jD,EAAWvI,EAAOosD,GAASL,GACrCA,IAIAM,EAAgB,SAAUrsD,EAAO+rD,GAKnC,IAJA,GAEIQ,GAASp6D,EAFT3Y,EAASwmB,EAAMxmB,OACfxC,EAAI,EAGDA,EAAIwC,GAAQ,CAGjB,IAFA2Y,EAAInb,EACJu1E,EAAUvsD,EAAMhpB,GACTmb,GAAK45D,EAAU/rD,EAAM7N,EAAI,GAAIo6D,GAAW,GAC7CvsD,EAAM7N,GAAK6N,IAAQ7N,EAEjBA,KAAMnb,MAAKgpB,EAAM7N,GAAKo6D,GAC1B,MAAOvsD,IAGPssD,EAAQ,SAAUtsD,EAAOgiB,EAAMC,EAAO8pC,GAMxC,IALA,GAAIS,GAAUxqC,EAAKxoC,OACfizE,EAAUxqC,EAAMzoC,OAChBkzE,EAAS,EACTC,EAAS,EAEND,EAASF,GAAWG,EAASF,GAClCzsD,EAAM0sD,EAASC,GAAWD,EAASF,GAAWG,EAASF,EACnDV,EAAU/pC,EAAK0qC,GAASzqC,EAAM0qC,KAAY,EAAI3qC,EAAK0qC,KAAYzqC,EAAM0qC,KACrED,EAASF,EAAUxqC,EAAK0qC,KAAYzqC,EAAM0qC,IAC9C,OAAO3sD,GAGXxpB,GAAOD,QAAU41E,G5jB8h3BX,SAAU31E,EAAQD,EAASM,G6jBzk3BjC,GAAI2L,GAAY,EAAQ,IAEpBoqE,EAAUpqE,EAAUwL,MAAM,kBAE9BxX,GAAOD,UAAYq2E,IAAYA,EAAQ,I7jBgl3BjC,SAAUp2E,EAAQD,EAASM,G8jBpl3BjC,GAAIg2E,GAAK,EAAQ,GAEjBr2E,GAAOD,QAAU,eAAewjB,KAAK8yD,I9jB2l3B/B,SAAUr2E,EAAQD,EAASM,G+jB7l3BjC,GAAI2L,GAAY,EAAQ,IAEpBsqE,EAAStqE,EAAUwL,MAAM,uBAE7BxX,GAAOD,UAAYu2E,IAAWA,EAAO,I/jBom3B/B,SAAUt2E,EAAQD,EAASM,GAEjC,YgkBxl3BA,SAASitE,GAAa1oE,GACpB,GAAIA,EAAK,MAAOwnC,GAAMxnC,GAWxB,QAASwnC,GAAMxnC,GACb,IAAK,GAAMtB,KAAOgqE,GAAa3rE,UACzBT,OAAOS,UAAUC,eAAejB,KAAK2sE,EAAa3rE,UAAW2B,KAC/DsB,EAAItB,GAAOgqE,EAAa3rE,UAAU2B,GAGtC,OAAOsB,GAhCT,GAAM2xE,GAAQnsE,EAAQ,IAMtBpK,GAAOD,QAAUutE,EAqCjBA,EAAa3rE,UAAUL,IAAM,SAAS+9C,GACpC,MAAOj/C,MAAKqrB,OAAO4zB,EAAM1wC,gBAe3B2+D,EAAa3rE,UAAU2qE,qBAAuB,SAAS7gD,GAKrD,GAAM+qD,GAAK/qD,EAAO,iBAAmB,EACrCrrB,MAAK8W,KAAOq/D,EAAMr/D,KAAKs/D,EAGvB,IAAMrmB,GAASomB,EAAMpmB,OAAOqmB,EAC5B,KAAK,GAAMlzE,KAAO6sD,GACZjvD,OAAOS,UAAUC,eAAejB,KAAKwvD,EAAQ7sD,KAC/ClD,KAAKkD,GAAO6sD,EAAO7sD,GAGvBlD,MAAKq2E,QAGL,KACMhrD,EAAOirD,OACTt2E,KAAKq2E,MAAQF,EAAMI,WAAWlrD,EAAOirD,OAEvC,YA0BJpJ,EAAa3rE,UAAUwqE,qBAAuB,SAAS3gD,GACrD,GAAMtU,GAAQsU,EAAS,IAAO,CAG9BprB,MAAK+N,WAAaqd,EAClBprB,KAAKorB,OAASprB,KAAK+N,WACnB/N,KAAKw2E,WAAa1/D,EAGlB9W,KAAKy2E,KAAgB,IAAT3/D,EACZ9W,KAAKsrB,GAAc,IAATxU,EACV9W,KAAK02E,SAAoB,IAAT5/D,EAChB9W,KAAK22E,YAAuB,IAAT7/D,EACnB9W,KAAK42E,YAAuB,IAAT9/D,EACnB9W,KAAK2E,OAAiB,IAATmS,GAAuB,IAATA,IAAa9W,KAAK4tE,UAG7C5tE,KAAK62E,QAAqB,MAAXzrD,EACfprB,KAAK82E,SAAsB,MAAX1rD,EAChBprB,KAAK+2E,UAAuB,MAAX3rD,EACjBprB,KAAKg3E,WAAwB,MAAX5rD,EAClBprB,KAAKi3E,aAA0B,MAAX7rD,EACpBprB,KAAKk3E,cAA2B,MAAX9rD,EACrBprB,KAAKm3E,UAAuB,MAAX/rD,EACjBprB,KAAKo3E,SAAsB,MAAXhsD,EAChBprB,KAAKq3E,oBAAiC,MAAXjsD,IhkBwm3BvB,SAAUxrB,EAAQD,EAASM,GAEjC,YAUA,IAAIsE,GAAyBtE,EAAoB,GAE7Cq3E,EAAU/yE,EAAuBtE,EAAoB,MAErDqvC,EAAS/qC,EAAuBtE,EAAoB,IikBxv3BxDN,GAAQmX,KAAO,SAAAymB,GAAG,MAAIA,GAAI7sB,MAAM,SAASgjC,SAUzC/zC,EAAQowD,OAAS,SAAAxyB,GAAG,aAClBA,iBAAI7sB,MAAM,UAAV6sB,OAA0B,SAAC/4B,EAAK+4B,GAC9B,GAAM8kB,GAAQ9kB,EAAI7sB,MAAM,SAClBxN,EAAMm/C,EAAM3O,QACZrU,EAAMgjB,EAAM3O,OAGlB,OADIxwC,IAAOm8B,IAAK76B,EAAItB,GAAOm8B,GACpB76B,QAWX7E,EAAQ42E,WAAa,SAAAh5C,GAAG,aACtBA,iBAAI7sB,MAAM,UAAV6sB,OAA0B,SAAC/4B,EAAK+4B,GAAQ,QAChC8kB,EAAQ9kB,EAAI7sB,MAAM,SAClBvD,GAAMk1C,iBAAM,IAANA,OAAe,GAAI,EAG/B,OADA79C,IADY69C,iBAAM,GAAG3xC,MAAM,SAAS,IAAxB2xC,OAAiC,GAAI,IACtCl1C,EACJ3I,QAWX7E,EAAQ43E,YAAc,SAAClsD,EAAQmsD,GAW7B,aAVOnsD,GAAO,sBACPA,GAAO,wBACPA,GAAO,2BACPA,GAAOwH,KAEV2kD,UACKnsD,GAAOosD,oBACPpsD,GAAOqsD,QAGTrsD,IjkBww3BH,SAAUzrB,EAAQD,EAASM,GkkBx03BjCL,EAAOD,QAAU,EAAQ,MlkB803BnB,SAAUC,EAAQD,EAASM,GmkB903BjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,GnkBq13BX,SAAUpQ,EAAQD,EAASM,GokBv13BjC,GAAI8H,GAAgB,EAAQ,IACxBQ,EAAS,EAAQ,KAEjBymB,EAAiBppB,MAAMrE,SAE3B3B,GAAOD,QAAU,SAAUgI,GACzB,GAAIskC,GAAMtkC,EAAGgwE,MACb,OAAOhwE,KAAOqnB,GAAmBjnB,EAAcinB,EAAgBrnB,IAAOskC,IAAQjd,EAAe2oD,OAAUpvE,EAAS0jC,IpkB+13B5G,SAAUrsC,EAAQD,EAASM,GqkBt23BjC,EAAQ,IACR,IAAIisC,GAAe,EAAQ,GAE3BtsC,GAAOD,QAAUusC,EAAa,SAASyrC,QrkB623BjC,SAAU/3E,EAAQD,EAASM,GAEjC,YskBj33BA,IAAIovB,GAAI,EAAQ,GACZuoD,EAAU,EAAQ,KAA6BxsC,KAC/CiB,EAAsB,EAAQ,KAC9BwrC,EAAiB,EAAQ,IACzB/lD,EAAU,EAAQ,IAElB0a,EAAgBH,EAAoB,UAGpCyrC,GAAchmD,GAAW+lD,EAAiB,IAAMA,EAAiB,EAIrExoD,IAAI5rB,OAAQ,QAASK,OAAO,EAAMG,QAASuoC,GAAiBsrC,IAC1DH,OAAQ,SAAgB1tD,GACtB,GAAIrnB,GAASD,UAAUC,MACvB,OAAOg1E,GAAQ53E,KAAMiqB,EAAYrnB,EAAQA,EAAS,EAAID,UAAU,OAAK0F,QtkB033BnE,SAAUzI,EAAQD,EAASM,GukB343BjC,GAAIsW,GAAY,EAAQ,IACpBvO,EAAW,EAAQ,IACnBoK,EAAgB,EAAQ,KACxBsR,EAAoB,EAAQ,IAE5B1a,EAAaC,UAGbugB,EAAe,SAAUuuD,GAC3B,MAAO,UAAUtgE,EAAMwS,EAAYi5B,EAAiB3sB,GAClDhgB,EAAU0T,EACV,IAAIlY,GAAI/J,EAASyP,GACb1X,EAAOqS,EAAcL,GACrBnP,EAAS8gB,EAAkB3R,GAC3BxI,EAAQwuE,EAAWn1E,EAAS,EAAI,EAChCxC,EAAI23E,GAAY,EAAI,CACxB,IAAI70B,EAAkB,EAAG,OAAa,CACpC,GAAI35C,IAASxJ,GAAM,CACjBw2B,EAAOx2B,EAAKwJ,GACZA,GAASnJ,CACT,OAGF,GADAmJ,GAASnJ,EACL23E,EAAWxuE,EAAQ,EAAI3G,GAAU2G,EACnC,KAAMP,GAAW,+CAGrB,KAAM+uE,EAAWxuE,GAAS,EAAI3G,EAAS2G,EAAOA,GAASnJ,EAAOmJ,IAASxJ,KACrEw2B,EAAOtM,EAAWsM,EAAMx2B,EAAKwJ,GAAQA,EAAOwI,GAE9C,OAAOwkB,IAIX32B,GAAOD,SAGLyrC,KAAM5hB,GAAa,GAGnB6hB,MAAO7hB,GAAa,KvkBm53BhB,SAAU5pB,EAAQD,EAASM,GAEjC,YAaA,SAAS+3E,GAAmBr3B,GAC1B,MAAOs3B,GAAmBt3B,IAAQu3B,EAAiBv3B,IAAQX,EAA4BW,IAAQw3B,IAGjG,QAASA,KACP,KAAM,IAAIlvE,WAAU,wIAGtB,QAAS+2C,GAA4Bn/C,EAAGy/C,GACtC,GAAI4D,EAEJ,IAAKrjD,EAAL,CACA,GAAiB,gBAANA,GAAgB,MAAO2/C,GAAkB3/C,EAAGy/C,EACvD,IAAIn/C,IAAI,EAAImuC,EAAOvR,SAASmmB,EAAWpjD,OAAOS,UAAU0E,SAAS1F,KAAKM,IAAIN,KAAK2jD,EAAU,GAAI,EAE7F,OADU,WAAN/iD,GAAkBN,EAAEuP,cAAajP,EAAIN,EAAEuP,YAAYzP,MAC7C,QAANQ,GAAqB,QAANA,GAAoB,EAAIi3E,EAAMr6C,SAASl9B,GAChD,cAANM,GAAqB,2CAA2CgiB,KAAKhiB,GAAWq/C,EAAkB3/C,EAAGy/C,OAAzG,IAGF,QAAS43B,GAAiBG,GACxB,OAA+B,KAApBv6C,EAAQC,UAA2B,EAAIu6C,EAAav6C,SAASj9B,OAAOu3E,IAAQ,OAAO,EAAID,EAAMr6C,SAASs6C,GAGnH,QAASJ,GAAmBt3B,GAC1B,GAAI/6C,MAAMW,QAAQo6C,GAAM,MAAOH,GAAkBG,GAGnD,QAASH,GAAkBG,EAAKnlC,IACnB,MAAPA,GAAeA,EAAMmlC,EAAI/9C,UAAQ4Y,EAAMmlC,EAAI/9C,OAE/C,KAAK,GAAIxC,GAAI,EAAGwgD,EAAO,GAAIh7C,OAAM4V,GAAMpb,EAAIob,EAAKpb,IAC9CwgD,EAAKxgD,GAAKugD,EAAIvgD,EAGhB,OAAOwgD,GwkB5+3BT,QAASusB,KACPntE,KAAKu4E,axkB+73BP,GAAIh0E,GAAyBtE,EAAoB,GAE7CqvC,EAAS/qC,EAAuBtE,EAAoB,KAEpDm4E,EAAQ7zE,EAAuBtE,EAAoB,MAEnD69B,EAAUv5B,EAAuBtE,EAAoB,KAErDq4E,EAAe/zE,EAAuBtE,EAAoB,OwkBn83B5D,MACA,KACA,OACA,MACA,QACA,OACA,SACA,OACA,kBACA,YACA,QACA,KACA,YACA,UACA,SACA,YACA,QACA,KACA,MACA,MACA,OACA,mBACA6Q,QAAQ,SAAA/L,GAERooE,EAAM5rE,UAAUwD,GAAM,WAAkB,2BAANyE,EAAM,yBAANA,EAAM,GAAA7G,YAEtC,OADA3C,MAAKu4E,UAAUxyE,MAAOhB,KAAIyE,SACnBxJ,QAIXmtE,EAAM5rE,UAAU8uE,aAAe,SAASpG,GACtCjqE,KAAKu4E,UAAUznE,QAAQ,SAAA0nE,GACrBvO,EAAIuO,EAAIzzE,IAARklE,QAAG+N,EAAYQ,EAAIhvE,UAIvB5J,EAAOD,QAAUwtE,GxkBo+3BX,SAAUvtE,EAAQD,EAASM,GykB7g4BjCL,EAAOD,QAAU,EAAQ,MzkBmh4BnB,SAAUC,EAAQD,EAASM,G0kBnh4BjCL,EAAOD,QAAU,EAAQ,M1kB0h4BnB,SAAUC,EAAQD,EAASM,G2kB1h4BjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G3kBii4BX,SAAUpQ,EAAQD,EAASM,G4kBni4BjC,GAAI+P,GAAS,EAAQ,IAErBpQ,GAAOD,QAAUqQ,G5kB0i4BX,SAAUpQ,EAAQD,EAASM,G6kB5i4BjC,GAAI+P,GAAS,EAAQ,IACrB,GAAQ,IAERpQ,EAAOD,QAAUqQ,G7kBmj4BX,SAAUpQ,EAAQD,EAASM,G8kBtj4BjC,EAAQ,IACR,EAAQ,GACR,IAAIw4E,GAAa,EAAQ,IAEzB74E,GAAOD,QAAU84E,G9kB6j4BX,SAAU74E,EAAQD,EAASM,G+kBjk4BjC,GAAIuS,GAAU,EAAQ,IAClBnQ,EAAS,EAAQ,IACjB4T,EAAkB,EAAQ,GAC1ByD,EAAY,EAAQ,IAEpB2N,EAAWpR,EAAgB,YAC3B1E,EAAUzQ,MAEdlB,GAAOD,QAAU,SAAUgI,GACzB,GAAIoK,GAAIR,EAAQ5J,EAChB,YAAuBU,KAAhB0J,EAAEsV,IACJ,cAAgBtV,IAChB1P,EAAOqX,EAAWlH,EAAQT","file":"av-min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"AV\"] = factory();\n\telse\n\t\troot[\"AV\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 245);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1071e9a032b536769af3","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"AV\"] = factory();\n\telse\n\t\troot[\"AV\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 245);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(9);\nvar apply = __webpack_require__(71);\nvar uncurryThis = __webpack_require__(4);\nvar isCallable = __webpack_require__(8);\nvar getOwnPropertyDescriptor = __webpack_require__(73).f;\nvar isForced = __webpack_require__(148);\nvar path = __webpack_require__(15);\nvar bind = __webpack_require__(58);\nvar createNonEnumerableProperty = __webpack_require__(39);\nvar hasOwn = __webpack_require__(13);\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index_default_js__ = __webpack_require__(288);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return __WEBPACK_IMPORTED_MODULE_0__index_default_js__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index_js__ = __webpack_require__(124);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"VERSION\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"VERSION\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"restArguments\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"restArguments\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isObject\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isNull\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isNull\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isUndefined\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isBoolean\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isElement\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isElement\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isString\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isNumber\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isDate\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isRegExp\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isError\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isError\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isSymbol\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isSymbol\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isArrayBuffer\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isArrayBuffer\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isDataView\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isDataView\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isArray\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isFunction\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isArguments\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isArguments\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isFinite\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isFinite\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isNaN\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isNaN\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isTypedArray\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isEmpty\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isMatch\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isMatch\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isEqual\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isEqual\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isMap\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isMap\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isWeakMap\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isWeakMap\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isSet\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isSet\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isWeakSet\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"isWeakSet\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"keys\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"allKeys\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"allKeys\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"values\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pairs\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"pairs\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"invert\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"functions\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"functions\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"methods\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"methods\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"extend\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"extendOwn\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"extendOwn\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assign\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"assign\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"defaults\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"create\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"clone\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"tap\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"tap\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"get\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"get\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"has\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"has\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mapObject\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"mapObject\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"identity\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"constant\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"constant\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"noop\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"toPath\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"toPath\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"property\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"propertyOf\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"propertyOf\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"matcher\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"matcher\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"matches\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"matches\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"times\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"times\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"random\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"random\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"now\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"now\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"escape\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"escape\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"unescape\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"unescape\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"templateSettings\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"templateSettings\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"template\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"template\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"result\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"result\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"uniqueId\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"uniqueId\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"chain\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"chain\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"iteratee\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"iteratee\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"partial\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"partial\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"bind\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"bindAll\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"bindAll\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"memoize\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"delay\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"defer\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"defer\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"throttle\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"debounce\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"wrap\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"wrap\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"negate\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"compose\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"compose\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"after\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"after\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"before\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"before\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"once\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"findKey\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"findKey\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"findIndex\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"findLastIndex\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sortedIndex\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"sortedIndex\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"indexOf\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"lastIndexOf\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"lastIndexOf\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"find\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"detect\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"detect\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"findWhere\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"findWhere\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"each\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"forEach\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"forEach\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"map\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"collect\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"collect\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"reduce\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"foldl\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"foldl\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"inject\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"inject\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"reduceRight\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"reduceRight\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"foldr\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"foldr\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"filter\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"select\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"select\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"reject\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"reject\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"every\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"every\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"all\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"all\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"some\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"some\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"any\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"any\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"contains\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"includes\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"includes\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"include\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"include\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"invoke\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"invoke\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pluck\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"pluck\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"where\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"where\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"max\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"min\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"shuffle\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sample\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"sample\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"sortBy\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"groupBy\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"indexBy\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"indexBy\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"countBy\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"partition\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"toArray\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"size\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"size\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"pick\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"omit\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"first\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"first\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"head\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"take\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"initial\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"initial\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"last\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"rest\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"rest\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"tail\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"drop\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"drop\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"compact\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"compact\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"flatten\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"without\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"without\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"uniq\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"uniq\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"unique\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"unique\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"union\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"intersection\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"intersection\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"difference\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"unzip\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"unzip\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"transpose\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"zip\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"object\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"object\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"range\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"chunk\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"chunk\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixin\", function() { return __WEBPACK_IMPORTED_MODULE_1__index_js__[\"mixin\"]; });\n// ESM Exports\n// ===========\n// This module is the package entry point for ES module users. In other words,\n// it is the module they are interfacing with when they import from the whole\n// package instead of from a submodule, like this:\n//\n// ```js\n// import { map } from 'underscore';\n// ```\n//\n// The difference with `./index-default`, which is the package entry point for\n// CommonJS, AMD and UMD users, is purely technical. In ES modules, named and\n// default exports are considered to be siblings, so when you have a default\n// export, its properties are not automatically available as named exports. For\n// this reason, we re-export the named exports in addition to providing the same\n// default export as in `./index-default`.\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_BIND = __webpack_require__(72);\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(9);\nvar shared = __webpack_require__(75);\nvar hasOwn = __webpack_require__(13);\nvar uid = __webpack_require__(112);\nvar NATIVE_SYMBOL = __webpack_require__(55);\nvar USE_SYMBOL_AS_UID = __webpack_require__(146);\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return VERSION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return root; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ArrayProto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return ObjProto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return SymbolProto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return push; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return toString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return hasOwnProperty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return supportsArrayBuffer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return supportsDataView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return nativeIsArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return nativeKeys; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return nativeCreate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return nativeIsView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return _isNaN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return _isFinite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return hasEnumBug; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return nonEnumerableProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return MAX_ARRAY_INDEX; });\n// Current version.\nvar VERSION = '1.12.1';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nvar root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nvar ArrayProto = Array.prototype, ObjProto = Object.prototype;\nvar SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nvar push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nvar supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nvar nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nvar _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nvar hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nvar MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(108)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(15);\nvar hasOwn = __webpack_require__(13);\nvar wrappedWellKnownSymbolModule = __webpack_require__(142);\nvar defineProperty = __webpack_require__(34).f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(108)))\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(248);\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_BIND = __webpack_require__(72);\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar uncurryThis = __webpack_require__(4);\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar uncurryThis = __webpack_require__(4);\nvar toObject = __webpack_require__(33);\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = keys;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isObject_js__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__setup_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__has_js__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__collectNonEnumProps_js__ = __webpack_require__(177);\n\n\n\n\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nfunction keys(obj) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__isObject_js__[\"a\" /* default */])(obj)) return [];\n if (__WEBPACK_IMPORTED_MODULE_1__setup_js__[\"m\" /* nativeKeys */]) return Object(__WEBPACK_IMPORTED_MODULE_1__setup_js__[\"m\" /* nativeKeys */])(obj);\n var keys = [];\n for (var key in obj) if (Object(__WEBPACK_IMPORTED_MODULE_2__has_js__[\"a\" /* default */])(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (__WEBPACK_IMPORTED_MODULE_1__setup_js__[\"h\" /* hasEnumBug */]) Object(__WEBPACK_IMPORTED_MODULE_3__collectNonEnumProps_js__[\"a\" /* default */])(obj, keys);\n return keys;\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = tagTester;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__setup_js__ = __webpack_require__(6);\n\n\n// Internal function for creating a `toString`-based type tester.\nfunction tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return __WEBPACK_IMPORTED_MODULE_0__setup_js__[\"t\" /* toString */].call(obj) === tag;\n };\n}\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isCallable = __webpack_require__(8);\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(15);\nvar global = __webpack_require__(9);\nvar isCallable = __webpack_require__(8);\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = cb;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_js__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__baseIteratee_js__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__iteratee_js__ = __webpack_require__(188);\n\n\n\n\n// The function we call internally to generate a callback. It invokes\n// `_.iteratee` if overridden, otherwise `baseIteratee`.\nfunction cb(value, context, argCount) {\n if (__WEBPACK_IMPORTED_MODULE_0__underscore_js__[\"a\" /* default */].iteratee !== __WEBPACK_IMPORTED_MODULE_2__iteratee_js__[\"a\" /* default */]) return __WEBPACK_IMPORTED_MODULE_0__underscore_js__[\"a\" /* default */].iteratee(value, context);\n return Object(__WEBPACK_IMPORTED_MODULE_1__baseIteratee_js__[\"a\" /* default */])(value, context, argCount);\n}\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(3);\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(17);\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = restArguments;\n// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nfunction restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = _;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__setup_js__ = __webpack_require__(6);\n\n\n// If Underscore is called as a function, it returns a wrapped object that can\n// be used OO-style. This wrapper holds altered versions of all functions added\n// through `_.mixin`. Wrapped objects may be chained.\nfunction _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n_.VERSION = __WEBPACK_IMPORTED_MODULE_0__setup_js__[\"e\" /* VERSION */];\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxies for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createSizePropertyCheck_js__ = __webpack_require__(175);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getLength_js__ = __webpack_require__(30);\n\n\n\n// Internal helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__createSizePropertyCheck_js__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_1__getLength_js__[\"a\" /* default */]));\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(360);\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(15);\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _concat = _interopRequireDefault(__webpack_require__(25));\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _ = __webpack_require__(2);\n\nvar md5 = __webpack_require__(500);\n\nvar _require = __webpack_require__(2),\n extend = _require.extend;\n\nvar AV = __webpack_require__(67);\n\nvar AVError = __webpack_require__(43);\n\nvar _require2 = __webpack_require__(31),\n getSessionToken = _require2.getSessionToken;\n\nvar ajax = __webpack_require__(106); // 计算 X-LC-Sign 的签名方法\n\n\nvar sign = function sign(key, isMasterKey) {\n var _context2;\n\n var now = new Date().getTime();\n var signature = md5(now + key);\n\n if (isMasterKey) {\n var _context;\n\n return (0, _concat.default)(_context = \"\".concat(signature, \",\")).call(_context, now, \",master\");\n }\n\n return (0, _concat.default)(_context2 = \"\".concat(signature, \",\")).call(_context2, now);\n};\n\nvar setAppKey = function setAppKey(headers, signKey) {\n if (signKey) {\n headers['X-LC-Sign'] = sign(AV.applicationKey);\n } else {\n headers['X-LC-Key'] = AV.applicationKey;\n }\n};\n\nvar setHeaders = function setHeaders() {\n var authOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var signKey = arguments.length > 1 ? arguments[1] : undefined;\n var headers = {\n 'X-LC-Id': AV.applicationId,\n 'Content-Type': 'application/json;charset=UTF-8'\n };\n var useMasterKey = false;\n\n if (typeof authOptions.useMasterKey === 'boolean') {\n useMasterKey = authOptions.useMasterKey;\n } else if (typeof AV._config.useMasterKey === 'boolean') {\n useMasterKey = AV._config.useMasterKey;\n }\n\n if (useMasterKey) {\n if (AV.masterKey) {\n if (signKey) {\n headers['X-LC-Sign'] = sign(AV.masterKey, true);\n } else {\n headers['X-LC-Key'] = \"\".concat(AV.masterKey, \",master\");\n }\n } else {\n console.warn('masterKey is not set, fall back to use appKey');\n setAppKey(headers, signKey);\n }\n } else {\n setAppKey(headers, signKey);\n }\n\n if (AV.hookKey) {\n headers['X-LC-Hook-Key'] = AV.hookKey;\n }\n\n if (AV._config.production !== null) {\n headers['X-LC-Prod'] = String(AV._config.production);\n }\n\n headers[ false ? 'User-Agent' : 'X-LC-UA'] = AV._sharedConfig.userAgent;\n return _promise.default.resolve().then(function () {\n // Pass the session token\n var sessionToken = getSessionToken(authOptions);\n\n if (sessionToken) {\n headers['X-LC-Session'] = sessionToken;\n } else if (!AV._config.disableCurrentUser) {\n return AV.User.currentAsync().then(function (currentUser) {\n if (currentUser && currentUser._sessionToken) {\n headers['X-LC-Session'] = currentUser._sessionToken;\n }\n\n return headers;\n });\n }\n\n return headers;\n });\n};\n\nvar createApiUrl = function createApiUrl(_ref) {\n var _ref$service = _ref.service,\n service = _ref$service === void 0 ? 'api' : _ref$service,\n _ref$version = _ref.version,\n version = _ref$version === void 0 ? '1.1' : _ref$version,\n path = _ref.path;\n var apiURL = AV._config.serverURLs[service];\n if (!apiURL) throw new Error(\"undefined server URL for \".concat(service));\n\n if (apiURL.charAt(apiURL.length - 1) !== '/') {\n apiURL += '/';\n }\n\n apiURL += version;\n\n if (path) {\n apiURL += path;\n }\n\n return apiURL;\n};\n/**\n * Low level REST API client. Call REST endpoints with authorization headers.\n * @function AV.request\n * @since 3.0.0\n * @param {Object} options\n * @param {String} options.method HTTP method\n * @param {String} options.path endpoint path, e.g. `/classes/Test/55759577e4b029ae6015ac20`\n * @param {Object} [options.query] query string dict\n * @param {Object} [options.data] HTTP body\n * @param {AuthOptions} [options.authOptions]\n * @param {String} [options.service = 'api']\n * @param {String} [options.version = '1.1']\n */\n\n\nvar request = function request(_ref2) {\n var service = _ref2.service,\n version = _ref2.version,\n method = _ref2.method,\n path = _ref2.path,\n query = _ref2.query,\n data = _ref2.data,\n authOptions = _ref2.authOptions,\n _ref2$signKey = _ref2.signKey,\n signKey = _ref2$signKey === void 0 ? true : _ref2$signKey;\n\n if (!(AV.applicationId && (AV.applicationKey || AV.masterKey))) {\n throw new Error('Not initialized');\n }\n\n if (AV._appRouter) {\n AV._appRouter.refresh();\n }\n\n var timeout = AV._config.requestTimeout;\n var url = createApiUrl({\n service: service,\n path: path,\n version: version\n });\n return setHeaders(authOptions, signKey).then(function (headers) {\n return ajax({\n method: method,\n url: url,\n query: query,\n data: data,\n headers: headers,\n timeout: timeout\n }).catch(function (error) {\n var errorJSON = {\n code: error.code || -1,\n error: error.message || error.responseText\n };\n\n if (error.response && error.response.code) {\n errorJSON = error.response;\n } else if (error.responseText) {\n try {\n errorJSON = JSON.parse(error.responseText);\n } catch (e) {// If we fail to parse the error text, that's okay.\n }\n }\n\n errorJSON.rawMessage = errorJSON.rawMessage || errorJSON.error;\n\n if (!AV._sharedConfig.keepErrorRawMessage) {\n var _context3, _context4;\n\n errorJSON.error += (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = \" [\".concat(error.statusCode || 'N/A', \" \")).call(_context4, method, \" \")).call(_context3, url, \"]\");\n } // Transform the error into an instance of AVError by trying to parse\n // the error string as JSON.\n\n\n var err = new AVError(errorJSON.code, errorJSON.error);\n delete errorJSON.error;\n throw _.extend(err, errorJSON);\n });\n });\n}; // lagecy request\n\n\nvar _request = function _request(route, className, objectId, method, data, authOptions, query) {\n var path = '';\n if (route) path += \"/\".concat(route);\n if (className) path += \"/\".concat(className);\n if (objectId) path += \"/\".concat(objectId); // for migeration\n\n if (data && data._fetchWhenSave) throw new Error('_fetchWhenSave should be in the query');\n if (data && data._where) throw new Error('_where should be in the query');\n\n if (method && method.toLowerCase() === 'get') {\n query = extend({}, query, data);\n data = null;\n }\n\n return request({\n method: method,\n path: path,\n query: query,\n data: data,\n authOptions: authOptions\n });\n};\n\nAV.request = request;\nmodule.exports = {\n _request: _request,\n request: request\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isCallable = __webpack_require__(8);\nvar tryToString = __webpack_require__(57);\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tagTester_js__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__setup_js__ = __webpack_require__(6);\n\n\n\nvar isFunction = Object(__WEBPACK_IMPORTED_MODULE_0__tagTester_js__[\"a\" /* default */])('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = __WEBPACK_IMPORTED_MODULE_1__setup_js__[\"p\" /* root */].document && __WEBPACK_IMPORTED_MODULE_1__setup_js__[\"p\" /* root */].document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (isFunction);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__shallowProperty_js__ = __webpack_require__(176);\n\n\n// Internal helper to obtain the `length` property of an object.\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__shallowProperty_js__[\"a\" /* default */])('length'));\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _keys = _interopRequireDefault(__webpack_require__(53));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(220));\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _ = __webpack_require__(2); // Helper function to check null or undefined.\n\n\nvar isNullOrUndefined = function isNullOrUndefined(x) {\n return _.isNull(x) || _.isUndefined(x);\n};\n\nvar ensureArray = function ensureArray(target) {\n if (_.isArray(target)) {\n return target;\n }\n\n if (target === undefined || target === null) {\n return [];\n }\n\n return [target];\n};\n\nvar transformFetchOptions = function transformFetchOptions() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n keys = (0, _keys.default)(_ref),\n include = _ref.include,\n includeACL = _ref.includeACL;\n\n var fetchOptions = {};\n\n if (keys) {\n fetchOptions.keys = ensureArray(keys).join(',');\n }\n\n if (include) {\n fetchOptions.include = ensureArray(include).join(',');\n }\n\n if (includeACL) {\n fetchOptions.returnACL = includeACL;\n }\n\n return fetchOptions;\n};\n\nvar getSessionToken = function getSessionToken(authOptions) {\n if (authOptions.sessionToken) {\n return authOptions.sessionToken;\n }\n\n if (authOptions.user && typeof authOptions.user.getSessionToken === 'function') {\n return authOptions.user.getSessionToken();\n }\n};\n\nvar tap = function tap(interceptor) {\n return function (value) {\n return interceptor(value), value;\n };\n}; // Shared empty constructor function to aid in prototype-chain creation.\n\n\nvar EmptyConstructor = function EmptyConstructor() {}; // Helper function to correctly set up the prototype chain, for subclasses.\n// Similar to `goog.inherits`, but uses a hash of prototype properties and\n// class properties to be extended.\n\n\nvar inherits = function inherits(parent, protoProps, staticProps) {\n var child; // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent's constructor.\n\n if (protoProps && protoProps.hasOwnProperty('constructor')) {\n child = protoProps.constructor;\n } else {\n /** @ignore */\n child = function child() {\n parent.apply(this, arguments);\n };\n } // Inherit class (static) properties from parent.\n\n\n _.extend(child, parent); // Set the prototype chain to inherit from `parent`, without calling\n // `parent`'s constructor function.\n\n\n EmptyConstructor.prototype = parent.prototype;\n child.prototype = new EmptyConstructor(); // Add prototype properties (instance properties) to the subclass,\n // if supplied.\n\n if (protoProps) {\n _.extend(child.prototype, protoProps);\n } // Add static properties to the constructor function, if supplied.\n\n\n if (staticProps) {\n _.extend(child, staticProps);\n } // Correctly set child's `prototype.constructor`.\n\n\n child.prototype.constructor = child; // Set a convenience property in case the parent's prototype is\n // needed later.\n\n child.__super__ = parent.prototype;\n return child;\n};\n\nvar parseDate = function parseDate(iso8601) {\n return new Date(iso8601);\n};\n\nvar setValue = function setValue(target, key, value) {\n // '.' is not allowed in Class keys, escaping is not in concern now.\n var segs = key.split('.');\n var lastSeg = segs.pop();\n var currentTarget = target;\n segs.forEach(function (seg) {\n if (currentTarget[seg] === undefined) currentTarget[seg] = {};\n currentTarget = currentTarget[seg];\n });\n currentTarget[lastSeg] = value;\n return target;\n};\n\nvar findValue = function findValue(target, key) {\n var segs = key.split('.');\n var firstSeg = segs[0];\n var lastSeg = segs.pop();\n var currentTarget = target;\n\n for (var i = 0; i < segs.length; i++) {\n currentTarget = currentTarget[segs[i]];\n\n if (currentTarget === undefined) {\n return [undefined, undefined, lastSeg];\n }\n }\n\n var value = currentTarget[lastSeg];\n return [value, currentTarget, lastSeg, firstSeg];\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n return _.isObject(obj) && (0, _getPrototypeOf.default)(obj) === Object.prototype;\n};\n\nvar continueWhile = function continueWhile(predicate, asyncFunction) {\n if (predicate()) {\n return asyncFunction().then(function () {\n return continueWhile(predicate, asyncFunction);\n });\n }\n\n return _promise.default.resolve();\n};\n\nmodule.exports = {\n isNullOrUndefined: isNullOrUndefined,\n ensureArray: ensureArray,\n transformFetchOptions: transformFetchOptions,\n getSessionToken: getSessionToken,\n tap: tap,\n inherits: inherits,\n parseDate: parseDate,\n setValue: setValue,\n findValue: findValue,\n isPlainObject: isPlainObject,\n continueWhile: continueWhile\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(74);\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(20);\nvar IE8_DOM_DEFINE = __webpack_require__(147);\nvar V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(149);\nvar anObject = __webpack_require__(21);\nvar toPropertyKey = __webpack_require__(88);\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(109);\nvar requireObjectCoercible = __webpack_require__(74);\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toLength = __webpack_require__(259);\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(372);\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(227);\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(20);\nvar definePropertyModule = __webpack_require__(34);\nvar createPropertyDescriptor = __webpack_require__(44);\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(47);\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = has;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__setup_js__ = __webpack_require__(6);\n\n\n// Internal function to check whether `key` is an own property name of `obj`.\nfunction has(obj, key) {\n return obj != null && __WEBPACK_IMPORTED_MODULE_0__setup_js__[\"i\" /* hasOwnProperty */].call(obj, key);\n}\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(365);\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _setPrototypeOf = _interopRequireDefault(__webpack_require__(387));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(220));\n\nvar _ = __webpack_require__(2);\n/**\n * @class AV.Error\n */\n\n\nfunction AVError(code, message) {\n if (this instanceof AVError ? this.constructor : void 0) {\n var error = new Error(message);\n (0, _setPrototypeOf.default)(error, (0, _getPrototypeOf.default)(this));\n error.code = code;\n return error;\n }\n\n return new AVError(code, message);\n}\n\nAVError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: Error,\n enumerable: false,\n writable: true,\n configurable: true\n }\n});\n(0, _setPrototypeOf.default)(AVError, Error);\n\n_.extend(AVError,\n/** @lends AV.Error */\n{\n /**\n * Error code indicating some error other than those enumerated here.\n * @constant\n */\n OTHER_CAUSE: -1,\n\n /**\n * Error code indicating that something has gone wrong with the server.\n * If you get this error code, it is AV's fault.\n * @constant\n */\n INTERNAL_SERVER_ERROR: 1,\n\n /**\n * Error code indicating the connection to the AV servers failed.\n * @constant\n */\n CONNECTION_FAILED: 100,\n\n /**\n * Error code indicating the specified object doesn't exist.\n * @constant\n */\n OBJECT_NOT_FOUND: 101,\n\n /**\n * Error code indicating you tried to query with a datatype that doesn't\n * support it, like exact matching an array or object.\n * @constant\n */\n INVALID_QUERY: 102,\n\n /**\n * Error code indicating a missing or invalid classname. Classnames are\n * case-sensitive. They must start with a letter, and a-zA-Z0-9_ are the\n * only valid characters.\n * @constant\n */\n INVALID_CLASS_NAME: 103,\n\n /**\n * Error code indicating an unspecified object id.\n * @constant\n */\n MISSING_OBJECT_ID: 104,\n\n /**\n * Error code indicating an invalid key name. Keys are case-sensitive. They\n * must start with a letter, and a-zA-Z0-9_ are the only valid characters.\n * @constant\n */\n INVALID_KEY_NAME: 105,\n\n /**\n * Error code indicating a malformed pointer. You should not see this unless\n * you have been mucking about changing internal AV code.\n * @constant\n */\n INVALID_POINTER: 106,\n\n /**\n * Error code indicating that badly formed JSON was received upstream. This\n * either indicates you have done something unusual with modifying how\n * things encode to JSON, or the network is failing badly.\n * @constant\n */\n INVALID_JSON: 107,\n\n /**\n * Error code indicating that the feature you tried to access is only\n * available internally for testing purposes.\n * @constant\n */\n COMMAND_UNAVAILABLE: 108,\n\n /**\n * You must call AV.initialize before using the AV library.\n * @constant\n */\n NOT_INITIALIZED: 109,\n\n /**\n * Error code indicating that a field was set to an inconsistent type.\n * @constant\n */\n INCORRECT_TYPE: 111,\n\n /**\n * Error code indicating an invalid channel name. A channel name is either\n * an empty string (the broadcast channel) or contains only a-zA-Z0-9_\n * characters.\n * @constant\n */\n INVALID_CHANNEL_NAME: 112,\n\n /**\n * Error code indicating that push is misconfigured.\n * @constant\n */\n PUSH_MISCONFIGURED: 115,\n\n /**\n * Error code indicating that the object is too large.\n * @constant\n */\n OBJECT_TOO_LARGE: 116,\n\n /**\n * Error code indicating that the operation isn't allowed for clients.\n * @constant\n */\n OPERATION_FORBIDDEN: 119,\n\n /**\n * Error code indicating the result was not found in the cache.\n * @constant\n */\n CACHE_MISS: 120,\n\n /**\n * Error code indicating that an invalid key was used in a nested\n * JSONObject.\n * @constant\n */\n INVALID_NESTED_KEY: 121,\n\n /**\n * Error code indicating that an invalid filename was used for AVFile.\n * A valid file name contains only a-zA-Z0-9_. characters and is between 1\n * and 128 characters.\n * @constant\n */\n INVALID_FILE_NAME: 122,\n\n /**\n * Error code indicating an invalid ACL was provided.\n * @constant\n */\n INVALID_ACL: 123,\n\n /**\n * Error code indicating that the request timed out on the server. Typically\n * this indicates that the request is too expensive to run.\n * @constant\n */\n TIMEOUT: 124,\n\n /**\n * Error code indicating that the email address was invalid.\n * @constant\n */\n INVALID_EMAIL_ADDRESS: 125,\n\n /**\n * Error code indicating a missing content type.\n * @constant\n */\n MISSING_CONTENT_TYPE: 126,\n\n /**\n * Error code indicating a missing content length.\n * @constant\n */\n MISSING_CONTENT_LENGTH: 127,\n\n /**\n * Error code indicating an invalid content length.\n * @constant\n */\n INVALID_CONTENT_LENGTH: 128,\n\n /**\n * Error code indicating a file that was too large.\n * @constant\n */\n FILE_TOO_LARGE: 129,\n\n /**\n * Error code indicating an error saving a file.\n * @constant\n */\n FILE_SAVE_ERROR: 130,\n\n /**\n * Error code indicating an error deleting a file.\n * @constant\n */\n FILE_DELETE_ERROR: 153,\n\n /**\n * Error code indicating that a unique field was given a value that is\n * already taken.\n * @constant\n */\n DUPLICATE_VALUE: 137,\n\n /**\n * Error code indicating that a role's name is invalid.\n * @constant\n */\n INVALID_ROLE_NAME: 139,\n\n /**\n * Error code indicating that an application quota was exceeded. Upgrade to\n * resolve.\n * @constant\n */\n EXCEEDED_QUOTA: 140,\n\n /**\n * Error code indicating that a Cloud Code script failed.\n * @constant\n */\n SCRIPT_FAILED: 141,\n\n /**\n * Error code indicating that a Cloud Code validation failed.\n * @constant\n */\n VALIDATION_ERROR: 142,\n\n /**\n * Error code indicating that invalid image data was provided.\n * @constant\n */\n INVALID_IMAGE_DATA: 150,\n\n /**\n * Error code indicating an unsaved file.\n * @constant\n */\n UNSAVED_FILE_ERROR: 151,\n\n /**\n * Error code indicating an invalid push time.\n * @constant\n */\n INVALID_PUSH_TIME_ERROR: 152,\n\n /**\n * Error code indicating that the username is missing or empty.\n * @constant\n */\n USERNAME_MISSING: 200,\n\n /**\n * Error code indicating that the password is missing or empty.\n * @constant\n */\n PASSWORD_MISSING: 201,\n\n /**\n * Error code indicating that the username has already been taken.\n * @constant\n */\n USERNAME_TAKEN: 202,\n\n /**\n * Error code indicating that the email has already been taken.\n * @constant\n */\n EMAIL_TAKEN: 203,\n\n /**\n * Error code indicating that the email is missing, but must be specified.\n * @constant\n */\n EMAIL_MISSING: 204,\n\n /**\n * Error code indicating that a user with the specified email was not found.\n * @constant\n */\n EMAIL_NOT_FOUND: 205,\n\n /**\n * Error code indicating that a user object without a valid session could\n * not be altered.\n * @constant\n */\n SESSION_MISSING: 206,\n\n /**\n * Error code indicating that a user can only be created through signup.\n * @constant\n */\n MUST_CREATE_USER_THROUGH_SIGNUP: 207,\n\n /**\n * Error code indicating that an an account being linked is already linked\n * to another user.\n * @constant\n */\n ACCOUNT_ALREADY_LINKED: 208,\n\n /**\n * Error code indicating that a user cannot be linked to an account because\n * that account's id could not be found.\n * @constant\n */\n LINKED_ID_MISSING: 250,\n\n /**\n * Error code indicating that a user with a linked (e.g. Facebook) account\n * has an invalid session.\n * @constant\n */\n INVALID_LINKED_SESSION: 251,\n\n /**\n * Error code indicating that a service being linked (e.g. Facebook or\n * Twitter) is unsupported.\n * @constant\n */\n UNSUPPORTED_SERVICE: 252,\n\n /**\n * Error code indicating a real error code is unavailable because\n * we had to use an XDomainRequest object to allow CORS requests in\n * Internet Explorer, which strips the body from HTTP responses that have\n * a non-2XX status code.\n * @constant\n */\n X_DOMAIN_REQUEST: 602\n});\n\nmodule.exports = AVError;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(18);\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(121);\nvar isCallable = __webpack_require__(8);\nvar classofRaw = __webpack_require__(54);\nvar wellKnownSymbol = __webpack_require__(5);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createNonEnumerableProperty = __webpack_require__(39);\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aCallable = __webpack_require__(28);\n\nvar PromiseCapability = function (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 = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = isObject;\n// Is a given variable an object?\nfunction isObject(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n}\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__setup_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tagTester_js__ = __webpack_require__(16);\n\n\n\n// Is a given value an array?\n// Delegates to ECMA5's native `Array.isArray`.\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__setup_js__[\"k\" /* nativeIsArray */] || Object(__WEBPACK_IMPORTED_MODULE_1__tagTester_js__[\"a\" /* default */])('Array'));\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = each;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__optimizeCb_js__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__isArrayLike_js__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__keys_js__ = __webpack_require__(14);\n\n\n\n\n// The cornerstone for collection functions, an `each`\n// implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nfunction each(obj, iteratee, context) {\n iteratee = Object(__WEBPACK_IMPORTED_MODULE_0__optimizeCb_js__[\"a\" /* default */])(iteratee, context);\n var i, length;\n if (Object(__WEBPACK_IMPORTED_MODULE_1__isArrayLike_js__[\"a\" /* default */])(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = Object(__WEBPACK_IMPORTED_MODULE_2__keys_js__[\"a\" /* default */])(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(378);\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar uncurryThis = __webpack_require__(4);\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = __webpack_require__(56);\nvar fails = __webpack_require__(3);\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(9);\nvar userAgent = __webpack_require__(45);\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports) {\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar uncurryThis = __webpack_require__(4);\nvar aCallable = __webpack_require__(28);\nvar NATIVE_BIND = __webpack_require__(72);\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = __webpack_require__(21);\nvar definePropertiesModule = __webpack_require__(152);\nvar enumBugKeys = __webpack_require__(118);\nvar hiddenKeys = __webpack_require__(93);\nvar html = __webpack_require__(153);\nvar documentCreateElement = __webpack_require__(113);\nvar sharedKey = __webpack_require__(91);\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(35);\nvar addToUnscopables = __webpack_require__(122);\nvar Iterators = __webpack_require__(46);\nvar InternalStateModule = __webpack_require__(95);\nvar defineProperty = __webpack_require__(34).f;\nvar defineIterator = __webpack_require__(157);\nvar IS_PURE = __webpack_require__(32);\nvar DESCRIPTORS = __webpack_require__(20);\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(121);\nvar defineProperty = __webpack_require__(34).f;\nvar createNonEnumerableProperty = __webpack_require__(39);\nvar hasOwn = __webpack_require__(13);\nvar toString = __webpack_require__(266);\nvar wellKnownSymbol = __webpack_require__(5);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(9);\n\nmodule.exports = global.Promise;\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nvar DOMIterables = __webpack_require__(287);\nvar global = __webpack_require__(9);\nvar classof = __webpack_require__(47);\nvar createNonEnumerableProperty = __webpack_require__(39);\nvar Iterators = __webpack_require__(46);\nvar wellKnownSymbol = __webpack_require__(5);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = values;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__keys_js__ = __webpack_require__(14);\n\n\n// Retrieve the values of an object's properties.\nfunction values(obj) {\n var _keys = Object(__WEBPACK_IMPORTED_MODULE_0__keys_js__[\"a\" /* default */])(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = flatten;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__getLength_js__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__isArrayLike_js__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__isArray_js__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__isArguments_js__ = __webpack_require__(127);\n\n\n\n\n\n// Internal implementation of a recursive `flatten` function.\nfunction flatten(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = Object(__WEBPACK_IMPORTED_MODULE_0__getLength_js__[\"a\" /* default */])(input); i < length; i++) {\n var value = input[i];\n if (Object(__WEBPACK_IMPORTED_MODULE_1__isArrayLike_js__[\"a\" /* default */])(value) && (Object(__WEBPACK_IMPORTED_MODULE_2__isArray_js__[\"a\" /* default */])(value) || Object(__WEBPACK_IMPORTED_MODULE_3__isArguments_js__[\"a\" /* default */])(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = map;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cb_js__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__isArrayLike_js__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__keys_js__ = __webpack_require__(14);\n\n\n\n\n// Return the results of applying the iteratee to each element.\nfunction map(obj, iteratee, context) {\n iteratee = Object(__WEBPACK_IMPORTED_MODULE_0__cb_js__[\"a\" /* default */])(iteratee, context);\n var _keys = !Object(__WEBPACK_IMPORTED_MODULE_1__isArrayLike_js__[\"a\" /* default */])(obj) && Object(__WEBPACK_IMPORTED_MODULE_2__keys_js__[\"a\" /* default */])(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _concat = _interopRequireDefault(__webpack_require__(25));\n\nvar _map = _interopRequireDefault(__webpack_require__(42));\n\nvar _keys = _interopRequireDefault(__webpack_require__(217));\n\nvar _stringify = _interopRequireDefault(__webpack_require__(37));\n\nvar _indexOf = _interopRequireDefault(__webpack_require__(68));\n\nvar _keys2 = _interopRequireDefault(__webpack_require__(53));\n\nvar _ = __webpack_require__(2);\n\nvar uuid = __webpack_require__(219);\n\nvar debug = __webpack_require__(69);\n\nvar _require = __webpack_require__(31),\n inherits = _require.inherits,\n parseDate = _require.parseDate;\n\nvar version = __webpack_require__(222);\n\nvar _require2 = __webpack_require__(70),\n setAdapters = _require2.setAdapters,\n adapterManager = _require2.adapterManager;\n\nvar AV = global.AV || {}; // All internal configuration items\n\nAV._config = {\n serverURLs: {},\n useMasterKey: false,\n production: null,\n realtime: null,\n requestTimeout: null\n};\nvar initialUserAgent = \"LeanCloud-JS-SDK/\".concat(version); // configs shared by all AV instances\n\nAV._sharedConfig = {\n userAgent: initialUserAgent,\n liveQueryRealtime: null\n};\nadapterManager.on('platformInfo', function (platformInfo) {\n var ua = initialUserAgent;\n\n if (platformInfo) {\n if (platformInfo.userAgent) {\n ua = platformInfo.userAgent;\n } else {\n var comments = platformInfo.name;\n\n if (platformInfo.version) {\n comments += \"/\".concat(platformInfo.version);\n }\n\n if (platformInfo.extra) {\n comments += \"; \".concat(platformInfo.extra);\n }\n\n ua += \" (\".concat(comments, \")\");\n }\n }\n\n AV._sharedConfig.userAgent = ua;\n});\n/**\n * Contains all AV API classes and functions.\n * @namespace AV\n */\n\n/**\n * Returns prefix for localStorage keys used by this instance of AV.\n * @param {String} path The relative suffix to append to it.\n * null or undefined is treated as the empty string.\n * @return {String} The full key name.\n * @private\n */\n\nAV._getAVPath = function (path) {\n if (!AV.applicationId) {\n throw new Error('You need to call AV.initialize before using AV.');\n }\n\n if (!path) {\n path = '';\n }\n\n if (!_.isString(path)) {\n throw new Error(\"Tried to get a localStorage path that wasn't a String.\");\n }\n\n if (path[0] === '/') {\n path = path.substring(1);\n }\n\n return 'AV/' + AV.applicationId + '/' + path;\n};\n/**\n * Returns the unique string for this app on this machine.\n * Gets reset when localStorage is cleared.\n * @private\n */\n\n\nAV._installationId = null;\n\nAV._getInstallationId = function () {\n // See if it's cached in RAM.\n if (AV._installationId) {\n return _promise.default.resolve(AV._installationId);\n } // Try to get it from localStorage.\n\n\n var path = AV._getAVPath('installationId');\n\n return AV.localStorage.getItemAsync(path).then(function (_installationId) {\n AV._installationId = _installationId;\n\n if (!AV._installationId) {\n // It wasn't in localStorage, so create a new one.\n AV._installationId = _installationId = uuid();\n return AV.localStorage.setItemAsync(path, _installationId).then(function () {\n return _installationId;\n });\n }\n\n return _installationId;\n });\n};\n\nAV._subscriptionId = null;\n\nAV._refreshSubscriptionId = function () {\n var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : AV._getAVPath('subscriptionId');\n var subscriptionId = AV._subscriptionId = uuid();\n return AV.localStorage.setItemAsync(path, subscriptionId).then(function () {\n return subscriptionId;\n });\n};\n\nAV._getSubscriptionId = function () {\n // See if it's cached in RAM.\n if (AV._subscriptionId) {\n return _promise.default.resolve(AV._subscriptionId);\n } // Try to get it from localStorage.\n\n\n var path = AV._getAVPath('subscriptionId');\n\n return AV.localStorage.getItemAsync(path).then(function (_subscriptionId) {\n AV._subscriptionId = _subscriptionId;\n\n if (!AV._subscriptionId) {\n // It wasn't in localStorage, so create a new one.\n _subscriptionId = AV._refreshSubscriptionId(path);\n }\n\n return _subscriptionId;\n });\n};\n\nAV._parseDate = parseDate; // A self-propagating extend function.\n\nAV._extend = function (protoProps, classProps) {\n var child = inherits(this, protoProps, classProps);\n child.extend = this.extend;\n return child;\n};\n/**\n * Converts a value in a AV Object into the appropriate representation.\n * This is the JS equivalent of Java's AV.maybeReferenceAndEncode(Object)\n * if seenObjects is falsey. Otherwise any AV.Objects not in\n * seenObjects will be fully embedded rather than encoded\n * as a pointer. This array will be used to prevent going into an infinite\n * loop because we have circular references. If Available in Cloud Code and Node.js only.\n * AV.Events is a fork of Backbone's Events module, provided for your\n * convenience. A module that can be mixed in to any object in order to provide\n * it with custom events. You may bind callback functions to an event\n * with `on`, or remove these functions with `off`.\n * Triggering an event fires all callbacks in the order that `on` was\n * called.\n *\n * @private\n * @example\n * var object = {};\n * _.extend(object, AV.Events);\n * object.on('expand', function(){ alert('expanded'); });\n * object.trigger('expand'); Represents a latitude / longitude point that may be associated\n * with a key in a AVObject or used as a reference point for geo queries.\n * This allows proximity-based queries on the key. Only one key in a class may contain a GeoPoint. Example:
\n * @example\n * new GeoPoint(otherGeoPoint)\n * new GeoPoint(30, 30)\n * new GeoPoint([30, 30])\n * new GeoPoint({latitude: 30, longitude: 30})\n * new GeoPoint() // defaults to (0, 0)\n * @class\n *\n * \n * var point = new AV.GeoPoint(30.0, -20.0);\n * var object = new AV.Object(\"PlaceObject\");\n * object.set(\"location\", point);\n * object.save();
An ACL, or Access Control List can be added to any\n * AV.Object
to restrict access to only a subset of users\n * of your application.
object.set(\"foo\", \"bar\")
\n * is an example of a AV.Op.Set. Calling object.unset(\"foo\")
\n * is a AV.Op.Unset. These operations are stored in a AV.Object and\n * sent to the server as part of object.save()
operations.\n * Instances of AV.Op should be immutable.\n *\n * You should not create subclasses of AV.Op or instantiate AV.Op\n * directly.\n */\n AV.Op = function () {\n this._initialize.apply(this, arguments);\n };\n\n _.extend(AV.Op.prototype,\n /** @lends AV.Op.prototype */\n {\n _initialize: function _initialize() {}\n });\n\n _.extend(AV.Op, {\n /**\n * To create a new Op, call AV.Op._extend();\n * @private\n */\n _extend: AV._extend,\n // A map of __op string to decoder function.\n _opDecoderMap: {},\n\n /**\n * Registers a function to convert a json object with an __op field into an\n * instance of a subclass of AV.Op.\n * @private\n */\n _registerDecoder: function _registerDecoder(opName, decoder) {\n AV.Op._opDecoderMap[opName] = decoder;\n },\n\n /**\n * Converts a json object into an instance of a subclass of AV.Op.\n * @private\n */\n _decode: function _decode(json) {\n var decoder = AV.Op._opDecoderMap[json.__op];\n\n if (decoder) {\n return decoder(json);\n } else {\n return undefined;\n }\n }\n });\n /*\n * Add a handler for Batch ops.\n */\n\n\n AV.Op._registerDecoder('Batch', function (json) {\n var op = null;\n\n AV._arrayEach(json.ops, function (nextOp) {\n nextOp = AV.Op._decode(nextOp);\n op = nextOp._mergeWithPrevious(op);\n });\n\n return op;\n });\n /**\n * @private\n * @class\n * A Set operation indicates that either the field was changed using\n * AV.Object.set, or it is a mutable container that was detected as being\n * changed.\n */\n\n\n AV.Op.Set = AV.Op._extend(\n /** @lends AV.Op.Set.prototype */\n {\n _initialize: function _initialize(value) {\n this._value = value;\n },\n\n /**\n * Returns the new value of this field after the set.\n */\n value: function value() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return AV._encode(this.value());\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n return this;\n },\n _estimate: function _estimate(oldValue) {\n return this.value();\n }\n });\n /**\n * A sentinel value that is returned by AV.Op.Unset._estimate to\n * indicate the field should be deleted. Basically, if you find _UNSET as a\n * value in your object, you should remove that key.\n */\n\n AV.Op._UNSET = {};\n /**\n * @private\n * @class\n * An Unset operation indicates that this field has been deleted from the\n * object.\n */\n\n AV.Op.Unset = AV.Op._extend(\n /** @lends AV.Op.Unset.prototype */\n {\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'Delete'\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n return this;\n },\n _estimate: function _estimate(oldValue) {\n return AV.Op._UNSET;\n }\n });\n\n AV.Op._registerDecoder('Delete', function (json) {\n return new AV.Op.Unset();\n });\n /**\n * @private\n * @class\n * An Increment is an atomic operation where the numeric value for the field\n * will be increased by a given amount.\n */\n\n\n AV.Op.Increment = AV.Op._extend(\n /** @lends AV.Op.Increment.prototype */\n {\n _initialize: function _initialize(amount) {\n this._amount = amount;\n },\n\n /**\n * Returns the amount to increment by.\n * @return {Number} the amount to increment by.\n */\n amount: function amount() {\n return this._amount;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'Increment',\n amount: this._amount\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.amount());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() + this.amount());\n } else if (previous instanceof AV.Op.Increment) {\n return new AV.Op.Increment(this.amount() + previous.amount());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue) {\n if (!oldValue) {\n return this.amount();\n }\n\n return oldValue + this.amount();\n }\n });\n\n AV.Op._registerDecoder('Increment', function (json) {\n return new AV.Op.Increment(json.amount);\n });\n /**\n * @private\n * @class\n * BitAnd is an atomic operation where the given value will be bit and to the\n * value than is stored in this field.\n */\n\n\n AV.Op.BitAnd = AV.Op._extend(\n /** @lends AV.Op.BitAnd.prototype */\n {\n _initialize: function _initialize(value) {\n this._value = value;\n },\n value: function value() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'BitAnd',\n value: this.value()\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(0);\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() & this.value());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue) {\n return oldValue & this.value();\n }\n });\n\n AV.Op._registerDecoder('BitAnd', function (json) {\n return new AV.Op.BitAnd(json.value);\n });\n /**\n * @private\n * @class\n * BitOr is an atomic operation where the given value will be bit and to the\n * value than is stored in this field.\n */\n\n\n AV.Op.BitOr = AV.Op._extend(\n /** @lends AV.Op.BitOr.prototype */\n {\n _initialize: function _initialize(value) {\n this._value = value;\n },\n value: function value() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'BitOr',\n value: this.value()\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.value());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() | this.value());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue) {\n return oldValue | this.value();\n }\n });\n\n AV.Op._registerDecoder('BitOr', function (json) {\n return new AV.Op.BitOr(json.value);\n });\n /**\n * @private\n * @class\n * BitXor is an atomic operation where the given value will be bit and to the\n * value than is stored in this field.\n */\n\n\n AV.Op.BitXor = AV.Op._extend(\n /** @lends AV.Op.BitXor.prototype */\n {\n _initialize: function _initialize(value) {\n this._value = value;\n },\n value: function value() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'BitXor',\n value: this.value()\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.value());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() ^ this.value());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue) {\n return oldValue ^ this.value();\n }\n });\n\n AV.Op._registerDecoder('BitXor', function (json) {\n return new AV.Op.BitXor(json.value);\n });\n /**\n * @private\n * @class\n * Add is an atomic operation where the given objects will be appended to the\n * array that is stored in this field.\n */\n\n\n AV.Op.Add = AV.Op._extend(\n /** @lends AV.Op.Add.prototype */\n {\n _initialize: function _initialize(objects) {\n this._objects = objects;\n },\n\n /**\n * Returns the objects to be added to the array.\n * @return {Array} The objects to be added to the array.\n */\n objects: function objects() {\n return this._objects;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'Add',\n objects: AV._encode(this.objects())\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.objects());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(this._estimate(previous.value()));\n } else if (previous instanceof AV.Op.Add) {\n var _context;\n\n return new AV.Op.Add((0, _concat.default)(_context = previous.objects()).call(_context, this.objects()));\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue) {\n if (!oldValue) {\n return _.clone(this.objects());\n } else {\n return (0, _concat.default)(oldValue).call(oldValue, this.objects());\n }\n }\n });\n\n AV.Op._registerDecoder('Add', function (json) {\n return new AV.Op.Add(AV._decode(json.objects));\n });\n /**\n * @private\n * @class\n * AddUnique is an atomic operation where the given items will be appended to\n * the array that is stored in this field only if they were not already\n * present in the array.\n */\n\n\n AV.Op.AddUnique = AV.Op._extend(\n /** @lends AV.Op.AddUnique.prototype */\n {\n _initialize: function _initialize(objects) {\n this._objects = _.uniq(objects);\n },\n\n /**\n * Returns the objects to be added to the array.\n * @return {Array} The objects to be added to the array.\n */\n objects: function objects() {\n return this._objects;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'AddUnique',\n objects: AV._encode(this.objects())\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.objects());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(this._estimate(previous.value()));\n } else if (previous instanceof AV.Op.AddUnique) {\n return new AV.Op.AddUnique(this._estimate(previous.objects()));\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue) {\n if (!oldValue) {\n return _.clone(this.objects());\n } else {\n // We can't just take the _.uniq(_.union(...)) of oldValue and\n // this.objects, because the uniqueness may not apply to oldValue\n // (especially if the oldValue was set via .set())\n var newValue = _.clone(oldValue);\n\n AV._arrayEach(this.objects(), function (obj) {\n if (obj instanceof AV.Object && obj.id) {\n var matchingObj = (0, _find.default)(_).call(_, newValue, function (anObj) {\n return anObj instanceof AV.Object && anObj.id === obj.id;\n });\n\n if (!matchingObj) {\n newValue.push(obj);\n } else {\n var index = (0, _indexOf.default)(_).call(_, newValue, matchingObj);\n newValue[index] = obj;\n }\n } else if (!_.contains(newValue, obj)) {\n newValue.push(obj);\n }\n });\n\n return newValue;\n }\n }\n });\n\n AV.Op._registerDecoder('AddUnique', function (json) {\n return new AV.Op.AddUnique(AV._decode(json.objects));\n });\n /**\n * @private\n * @class\n * Remove is an atomic operation where the given objects will be removed from\n * the array that is stored in this field.\n */\n\n\n AV.Op.Remove = AV.Op._extend(\n /** @lends AV.Op.Remove.prototype */\n {\n _initialize: function _initialize(objects) {\n this._objects = _.uniq(objects);\n },\n\n /**\n * Returns the objects to be removed from the array.\n * @return {Array} The objects to be removed from the array.\n */\n objects: function objects() {\n return this._objects;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __op: 'Remove',\n objects: AV._encode(this.objects())\n };\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return previous;\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(this._estimate(previous.value()));\n } else if (previous instanceof AV.Op.Remove) {\n return new AV.Op.Remove(_.union(previous.objects(), this.objects()));\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue) {\n if (!oldValue) {\n return [];\n } else {\n var newValue = _.difference(oldValue, this.objects()); // If there are saved AV Objects being removed, also remove them.\n\n\n AV._arrayEach(this.objects(), function (obj) {\n if (obj instanceof AV.Object && obj.id) {\n newValue = _.reject(newValue, function (other) {\n return other instanceof AV.Object && other.id === obj.id;\n });\n }\n });\n\n return newValue;\n }\n }\n });\n\n AV.Op._registerDecoder('Remove', function (json) {\n return new AV.Op.Remove(AV._decode(json.objects));\n });\n /**\n * @private\n * @class\n * A Relation operation indicates that the field is an instance of\n * AV.Relation, and objects are being added to, or removed from, that\n * relation.\n */\n\n\n AV.Op.Relation = AV.Op._extend(\n /** @lends AV.Op.Relation.prototype */\n {\n _initialize: function _initialize(adds, removes) {\n this._targetClassName = null;\n var self = this;\n\n var pointerToId = function pointerToId(object) {\n if (object instanceof AV.Object) {\n if (!object.id) {\n throw new Error(\"You can't add an unsaved AV.Object to a relation.\");\n }\n\n if (!self._targetClassName) {\n self._targetClassName = object.className;\n }\n\n if (self._targetClassName !== object.className) {\n throw new Error('Tried to create a AV.Relation with 2 different types: ' + self._targetClassName + ' and ' + object.className + '.');\n }\n\n return object.id;\n }\n\n return object;\n };\n\n this.relationsToAdd = _.uniq((0, _map.default)(_).call(_, adds, pointerToId));\n this.relationsToRemove = _.uniq((0, _map.default)(_).call(_, removes, pointerToId));\n },\n\n /**\n * Returns an array of unfetched AV.Object that are being added to the\n * relation.\n * @return {Array}\n */\n added: function added() {\n var self = this;\n return (0, _map.default)(_).call(_, this.relationsToAdd, function (objectId) {\n var object = AV.Object._create(self._targetClassName);\n\n object.id = objectId;\n return object;\n });\n },\n\n /**\n * Returns an array of unfetched AV.Object that are being removed from\n * the relation.\n * @return {Array}\n */\n removed: function removed() {\n var self = this;\n return (0, _map.default)(_).call(_, this.relationsToRemove, function (objectId) {\n var object = AV.Object._create(self._targetClassName);\n\n object.id = objectId;\n return object;\n });\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function toJSON() {\n var adds = null;\n var removes = null;\n var self = this;\n\n var idToPointer = function idToPointer(id) {\n return {\n __type: 'Pointer',\n className: self._targetClassName,\n objectId: id\n };\n };\n\n var pointers = null;\n\n if (this.relationsToAdd.length > 0) {\n pointers = (0, _map.default)(_).call(_, this.relationsToAdd, idToPointer);\n adds = {\n __op: 'AddRelation',\n objects: pointers\n };\n }\n\n if (this.relationsToRemove.length > 0) {\n pointers = (0, _map.default)(_).call(_, this.relationsToRemove, idToPointer);\n removes = {\n __op: 'RemoveRelation',\n objects: pointers\n };\n }\n\n if (adds && removes) {\n return {\n __op: 'Batch',\n ops: [adds, removes]\n };\n }\n\n return adds || removes || {};\n },\n _mergeWithPrevious: function _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n throw new Error(\"You can't modify a relation after deleting it.\");\n } else if (previous instanceof AV.Op.Relation) {\n if (previous._targetClassName && previous._targetClassName !== this._targetClassName) {\n throw new Error('Related object must be of class ' + previous._targetClassName + ', but ' + this._targetClassName + ' was passed in.');\n }\n\n var newAdd = _.union(_.difference(previous.relationsToAdd, this.relationsToRemove), this.relationsToAdd);\n\n var newRemove = _.union(_.difference(previous.relationsToRemove, this.relationsToAdd), this.relationsToRemove);\n\n var newRelation = new AV.Op.Relation(newAdd, newRemove);\n newRelation._targetClassName = this._targetClassName;\n return newRelation;\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n _estimate: function _estimate(oldValue, object, key) {\n if (!oldValue) {\n var relation = new AV.Relation(object, key);\n relation.targetClassName = this._targetClassName;\n } else if (oldValue instanceof AV.Relation) {\n if (this._targetClassName) {\n if (oldValue.targetClassName) {\n if (oldValue.targetClassName !== this._targetClassName) {\n throw new Error('Related object must be a ' + oldValue.targetClassName + ', but a ' + this._targetClassName + ' was passed in.');\n }\n } else {\n oldValue.targetClassName = this._targetClassName;\n }\n }\n\n return oldValue;\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n }\n });\n\n AV.Op._registerDecoder('AddRelation', function (json) {\n return new AV.Op.Relation(AV._decode(json.objects), []);\n });\n\n AV.Op._registerDecoder('RemoveRelation', function (json) {\n return new AV.Op.Relation([], AV._decode(json.objects));\n });\n};\n\n/***/ }),\n/* 446 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(447);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 447 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isPrototypeOf = __webpack_require__(12);\nvar method = __webpack_require__(448);\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.find;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.find) ? method : own;\n};\n\n\n/***/ }),\n/* 448 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(449);\nvar entryVirtual = __webpack_require__(26);\n\nmodule.exports = entryVirtual('Array').find;\n\n\n/***/ }),\n/* 449 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(0);\nvar $find = __webpack_require__(105).find;\nvar addToUnscopables = __webpack_require__(122);\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n\n\n/***/ }),\n/* 450 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _ = __webpack_require__(2);\n\nmodule.exports = function (AV) {\n /**\n * Creates a new Relation for the given parent object and key. This\n * constructor should rarely be used directly, but rather created by\n * {@link AV.Object#relation}.\n * @param {AV.Object} parent The parent of this relation.\n * @param {String} key The key for this relation on the parent.\n * @see AV.Object#relation\n * @class\n *\n * \n * A class that is used to access all of the children of a many-to-many\n * relationship. Each instance of AV.Relation is associated with a\n * particular parent object and key.\n *
\n */\n AV.Relation = function (parent, key) {\n if (!_.isString(key)) {\n throw new TypeError('key must be a string');\n }\n\n this.parent = parent;\n this.key = key;\n this.targetClassName = null;\n };\n /**\n * Creates a query that can be used to query the parent objects in this relation.\n * @param {String} parentClass The parent class or name.\n * @param {String} relationKey The relation field key in parent.\n * @param {AV.Object} child The child object.\n * @return {AV.Query}\n */\n\n\n AV.Relation.reverseQuery = function (parentClass, relationKey, child) {\n var query = new AV.Query(parentClass);\n query.equalTo(relationKey, child._toPointer());\n return query;\n };\n\n _.extend(AV.Relation.prototype,\n /** @lends AV.Relation.prototype */\n {\n /**\n * Makes sure that this relation has the right parent and key.\n * @private\n */\n _ensureParentAndKey: function _ensureParentAndKey(parent, key) {\n this.parent = this.parent || parent;\n this.key = this.key || key;\n\n if (this.parent !== parent) {\n throw new Error('Internal Error. Relation retrieved from two different Objects.');\n }\n\n if (this.key !== key) {\n throw new Error('Internal Error. Relation retrieved from two different keys.');\n }\n },\n\n /**\n * Adds a AV.Object or an array of AV.Objects to the relation.\n * @param {AV.Object|AV.Object[]} objects The item or items to add.\n */\n add: function add(objects) {\n if (!_.isArray(objects)) {\n objects = [objects];\n }\n\n var change = new AV.Op.Relation(objects, []);\n this.parent.set(this.key, change);\n this.targetClassName = change._targetClassName;\n },\n\n /**\n * Removes a AV.Object or an array of AV.Objects from this relation.\n * @param {AV.Object|AV.Object[]} objects The item or items to remove.\n */\n remove: function remove(objects) {\n if (!_.isArray(objects)) {\n objects = [objects];\n }\n\n var change = new AV.Op.Relation([], objects);\n this.parent.set(this.key, change);\n this.targetClassName = change._targetClassName;\n },\n\n /**\n * Returns a JSON version of the object suitable for saving to disk.\n * @return {Object}\n */\n toJSON: function toJSON() {\n return {\n __type: 'Relation',\n className: this.targetClassName\n };\n },\n\n /**\n * Returns a AV.Query that is limited to objects in this\n * relation.\n * @return {AV.Query}\n */\n query: function query() {\n var targetClass;\n var query;\n\n if (!this.targetClassName) {\n targetClass = AV.Object._getSubclass(this.parent.className);\n query = new AV.Query(targetClass);\n query._defaultParams.redirectClassNameForKey = this.key;\n } else {\n targetClass = AV.Object._getSubclass(this.targetClassName);\n query = new AV.Query(targetClass);\n }\n\n query._addCondition('$relatedTo', 'object', this.parent._toPointer());\n\n query._addCondition('$relatedTo', 'key', this.key);\n\n return query;\n }\n });\n};\n\n/***/ }),\n/* 451 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _ = __webpack_require__(2);\n\nvar cos = __webpack_require__(452);\n\nvar qiniu = __webpack_require__(453);\n\nvar s3 = __webpack_require__(499);\n\nvar AVError = __webpack_require__(43);\n\nvar _require = __webpack_require__(27),\n request = _require.request,\n AVRequest = _require._request;\n\nvar _require2 = __webpack_require__(31),\n tap = _require2.tap,\n transformFetchOptions = _require2.transformFetchOptions;\n\nvar debug = __webpack_require__(69)('leancloud:file');\n\nvar parseBase64 = __webpack_require__(503);\n\nmodule.exports = function (AV) {\n // port from browserify path module\n // since react-native packager won't shim node modules.\n var extname = function extname(path) {\n if (!_.isString(path)) return '';\n return path.match(/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/)[4];\n };\n\n var b64Digit = function b64Digit(number) {\n if (number < 26) {\n return String.fromCharCode(65 + number);\n }\n\n if (number < 52) {\n return String.fromCharCode(97 + (number - 26));\n }\n\n if (number < 62) {\n return String.fromCharCode(48 + (number - 52));\n }\n\n if (number === 62) {\n return '+';\n }\n\n if (number === 63) {\n return '/';\n }\n\n throw new Error('Tried to encode large digit ' + number + ' in base64.');\n };\n\n var encodeBase64 = function encodeBase64(array) {\n var chunks = [];\n chunks.length = Math.ceil(array.length / 3);\n\n _.times(chunks.length, function (i) {\n var b1 = array[i * 3];\n var b2 = array[i * 3 + 1] || 0;\n var b3 = array[i * 3 + 2] || 0;\n var has2 = i * 3 + 1 < array.length;\n var has3 = i * 3 + 2 < array.length;\n chunks[i] = [b64Digit(b1 >> 2 & 0x3f), b64Digit(b1 << 4 & 0x30 | b2 >> 4 & 0x0f), has2 ? b64Digit(b2 << 2 & 0x3c | b3 >> 6 & 0x03) : '=', has3 ? b64Digit(b3 & 0x3f) : '='].join('');\n });\n\n return chunks.join('');\n };\n /**\n * An AV.File is a local representation of a file that is saved to the AV\n * cloud.\n * @param name {String} The file's name. This will change to a unique value\n * once the file has finished saving.\n * @param data {Array} The data for the file, as either:\n * 1. an Array of byte value Numbers, or\n * 2. an Object like { base64: \"...\" } with a base64-encoded String.\n * 3. a Blob(File) selected with a file upload control in a browser.\n * 4. an Object like { blob: {uri: \"...\"} } that mimics Blob\n * in some non-browser environments such as React Native.\n * 5. a Buffer in Node.js runtime.\n * 6. a Stream in Node.js runtime.\n *\n * For example:\n * var fileUploadControl = $(\"#profilePhotoFileUpload\")[0];\n * if (fileUploadControl.files.length > 0) {\n * var file = fileUploadControl.files[0];\n * var name = \"photo.jpg\";\n * var file = new AV.File(name, file);\n * file.save().then(function() {\n * // The file has been saved to AV.\n * }, function(error) {\n * // The file either could not be read, or could not be saved to AV.\n * });\n * }\n *\n * @class\n * @param [mimeType] {String} Content-Type header to use for the file. If\n * this is omitted, the content type will be inferred from the name's\n * extension.\n */\n\n\n AV.File = function (name, data, mimeType) {\n this.attributes = {\n name: name,\n url: '',\n metaData: {},\n // 用来存储转换后要上传的 base64 String\n base64: ''\n };\n\n if (_.isString(data)) {\n throw new TypeError('Creating an AV.File from a String is not yet supported.');\n }\n\n if (_.isArray(data)) {\n this.attributes.metaData.size = data.length;\n data = {\n base64: encodeBase64(data)\n };\n }\n\n this._extName = '';\n this._data = data;\n this._uploadHeaders = {};\n\n if (data && data.blob && typeof data.blob.uri === 'string') {\n this._extName = extname(data.blob.uri);\n }\n\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n if (data.size) {\n this.attributes.metaData.size = data.size;\n }\n\n if (data.name) {\n this._extName = extname(data.name);\n }\n }\n\n var owner;\n\n if (data && data.owner) {\n owner = data.owner;\n } else if (!AV._config.disableCurrentUser) {\n try {\n owner = AV.User.current();\n } catch (error) {\n if ('SYNC_API_NOT_AVAILABLE' !== error.code) {\n throw error;\n }\n }\n }\n\n this.attributes.metaData.owner = owner ? owner.id : 'unknown';\n this.set('mime_type', mimeType);\n };\n /**\n * Creates a fresh AV.File object with exists url for saving to AVOS Cloud.\n * @param {String} name the file name\n * @param {String} url the file url.\n * @param {Object} [metaData] the file metadata object.\n * @param {String} [type] Content-Type header to use for the file. If\n * this is omitted, the content type will be inferred from the name's\n * extension.\n * @return {AV.File} the file object\n */\n\n\n AV.File.withURL = function (name, url, metaData, type) {\n if (!name || !url) {\n throw new Error('Please provide file name and url');\n }\n\n var file = new AV.File(name, null, type); //copy metaData properties to file.\n\n if (metaData) {\n for (var prop in metaData) {\n if (!file.attributes.metaData[prop]) file.attributes.metaData[prop] = metaData[prop];\n }\n }\n\n file.attributes.url = url; //Mark the file is from external source.\n\n file.attributes.metaData.__source = 'external';\n file.attributes.metaData.size = 0;\n return file;\n };\n /**\n * Creates a file object with exists objectId.\n * @param {String} objectId The objectId string\n * @return {AV.File} the file object\n */\n\n\n AV.File.createWithoutData = function (objectId) {\n if (!objectId) {\n throw new TypeError('The objectId must be provided');\n }\n\n var file = new AV.File();\n file.id = objectId;\n return file;\n };\n /**\n * Request file censor.\n * @since 4.13.0\n * @param {String} objectId\n * @return {Promise.
Returns the file's metadata JSON object if no arguments is given.Returns the\n * metadata value if a key is given.Set metadata value if key and value are both given.
\n *\n * var metadata = file.metaData(); //Get metadata JSON object.\n * var size = file.metaData('size'); // Get the size metadata value.\n * file.metaData('format', 'jpeg'); //set metadata attribute and value.\n *\n * @return {Object} The file's metadata JSON object.\n * @param {String} attr an optional metadata key.\n * @param {Object} value an optional metadata value.\n **/\n metaData: function metaData(attr, value) {\n if (attr && value) {\n this.attributes.metaData[attr] = value;\n return this;\n } else if (attr && !value) {\n return this.attributes.metaData[attr];\n } else {\n return this.attributes.metaData;\n }\n },\n\n /**\n * 如果文件是图片,获取图片的缩略图URL。可以传入宽度、高度、质量、格式等参数。\n * @return {String} 缩略图URL\n * @param {Number} width 宽度,单位:像素\n * @param {Number} heigth 高度,单位:像素\n * @param {Number} quality 质量,1-100的数字,默认100\n * @param {Number} scaleToFit 是否将图片自适应大小。默认为true。\n * @param {String} fmt 格式,默认为png,也可以为jpeg,gif等格式。\n */\n thumbnailURL: function thumbnailURL(width, height) {\n var quality = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;\n var scaleToFit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var fmt = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'png';\n var url = this.attributes.url;\n\n if (!url) {\n throw new Error('Invalid url.');\n }\n\n if (!width || !height || width <= 0 || height <= 0) {\n throw new Error('Invalid width or height value.');\n }\n\n if (quality <= 0 || quality > 100) {\n throw new Error('Invalid quality value.');\n }\n\n var mode = scaleToFit ? 2 : 1;\n return url + '?imageView/' + mode + '/w/' + width + '/h/' + height + '/q/' + quality + '/format/' + fmt;\n },\n\n /**\n * Returns the file's size.\n * @return {Number} The file's size in bytes.\n **/\n size: function size() {\n return this.metaData().size;\n },\n\n /**\n * Returns the file's owner.\n * @return {String} The file's owner id.\n */\n ownerId: function ownerId() {\n return this.metaData().owner;\n },\n\n /**\n * Destroy the file.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the destroy\n * completes.\n */\n destroy: function destroy(options) {\n if (!this.id) {\n return _promise.default.reject(new Error('The file id does not eixst.'));\n }\n\n var request = AVRequest('files', null, this.id, 'DELETE', null, options);\n return request;\n },\n\n /**\n * Request Qiniu upload token\n * @param {string} type\n * @return {Promise} Resolved with the response\n * @private\n */\n _fileToken: function _fileToken(type, authOptions) {\n var name = this.attributes.name;\n var extName = extname(name);\n\n if (!extName && this._extName) {\n name += this._extName;\n extName = this._extName;\n }\n\n var data = {\n name: name,\n keep_file_name: authOptions.keepFileName,\n key: authOptions.key,\n ACL: this._acl,\n mime_type: type,\n metaData: this.attributes.metaData\n };\n return AVRequest('fileTokens', null, null, 'POST', data, authOptions);\n },\n\n /**\n * @callback UploadProgressCallback\n * @param {XMLHttpRequestProgressEvent} event - The progress event with 'loaded' and 'total' attributes\n */\n\n /**\n * Saves the file to the AV cloud.\n * @param {AuthOptions} [options] AuthOptions plus:\n * @param {UploadProgressCallback} [options.onprogress] 文件上传进度,在 Node.js 中无效,回调参数说明详见 {@link UploadProgressCallback}。\n * @param {boolean} [options.keepFileName = false] 保留下载文件的文件名。\n * @param {string} [options.key] 指定文件的 key。设置该选项需要使用 masterKey\n * @return {Promise} Promise that is resolved when the save finishes.\n */\n save: function save() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (this.id) {\n throw new Error('File is already saved.');\n }\n\n if (!this._previousSave) {\n if (this._data) {\n var mimeType = this.get('mime_type');\n this._previousSave = this._fileToken(mimeType, options).then(function (uploadInfo) {\n if (uploadInfo.mime_type) {\n mimeType = uploadInfo.mime_type;\n\n _this3.set('mime_type', mimeType);\n }\n\n _this3._token = uploadInfo.token;\n return _promise.default.resolve().then(function () {\n var data = _this3._data;\n\n if (data && data.base64) {\n return parseBase64(data.base64, mimeType);\n }\n\n if (data && data.blob) {\n if (!data.blob.type && mimeType) {\n data.blob.type = mimeType;\n }\n\n if (!data.blob.name) {\n data.blob.name = _this3.get('name');\n }\n\n return data.blob;\n }\n\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return data;\n }\n\n throw new TypeError('malformed file data');\n }).then(function (data) {\n var _options = _.extend({}, options); // filter out download progress events\n\n\n if (options.onprogress) {\n _options.onprogress = function (event) {\n if (event.direction === 'download') return;\n return options.onprogress(event);\n };\n }\n\n switch (uploadInfo.provider) {\n case 's3':\n return s3(uploadInfo, data, _this3, _options);\n\n case 'qcloud':\n return cos(uploadInfo, data, _this3, _options);\n\n case 'qiniu':\n default:\n return qiniu(uploadInfo, data, _this3, _options);\n }\n }).then(tap(function () {\n return _this3._callback(true);\n }), function (error) {\n _this3._callback(false);\n\n throw error;\n });\n });\n } else if (this.attributes.url && this.attributes.metaData.__source === 'external') {\n // external link file.\n var data = {\n name: this.attributes.name,\n ACL: this._acl,\n metaData: this.attributes.metaData,\n mime_type: this.mimeType,\n url: this.attributes.url\n };\n this._previousSave = AVRequest('files', null, null, 'post', data, options).then(function (response) {\n _this3.id = response.objectId;\n return _this3;\n });\n }\n }\n\n return this._previousSave;\n },\n _callback: function _callback(success) {\n AVRequest('fileCallback', null, null, 'post', {\n token: this._token,\n result: success\n }).catch(debug);\n delete this._token;\n delete this._data;\n },\n\n /**\n * fetch the file from server. If the server's representation of the\n * model differs from its current attributes, they will be overriden,\n * @param {Object} fetchOptions Optional options to set 'keys',\n * 'include' and 'includeACL' option.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the fetch\n * completes.\n */\n fetch: function fetch(fetchOptions, options) {\n if (!this.id) {\n throw new Error('Cannot fetch unsaved file');\n }\n\n var request = AVRequest('files', null, this.id, 'GET', transformFetchOptions(fetchOptions), options);\n return request.then(this._finishFetch.bind(this));\n },\n _finishFetch: function _finishFetch(response) {\n var value = AV.Object.prototype.parse(response);\n value.attributes = {\n name: value.name,\n url: value.url,\n mime_type: value.mime_type,\n bucket: value.bucket\n };\n value.attributes.metaData = value.metaData || {};\n value.id = value.objectId; // clean\n\n delete value.objectId;\n delete value.metaData;\n delete value.url;\n delete value.name;\n delete value.mime_type;\n delete value.bucket;\n\n _.extend(this, value);\n\n return this;\n },\n\n /**\n * Request file censor\n * @since 4.13.0\n * @return {Promise.
You won't normally call this method directly. It is recommended that\n * you use a subclass of AV.Object
instead, created by calling\n * extend
.
However, if you don't want to use a subclass, or aren't sure which\n * subclass is appropriate, you can use this form:
\n * var object = new AV.Object(\"ClassName\");\n *\n * That is basically equivalent to:
\n * var MyClass = AV.Object.extend(\"ClassName\");\n * var object = new MyClass();\n *\n *\n * @param {Object} attributes The initial set of data to store in the object.\n * @param {Object} options A set of Backbone-like options for creating the\n * object. The only option currently supported is \"collection\".\n * @see AV.Object.extend\n *\n * @class\n *\n *
The fundamental unit of AV data, which implements the Backbone Model\n * interface.
\n */\n AV.Object = function (attributes, options) {\n // Allow new AV.Object(\"ClassName\") as a shortcut to _create.\n if (_.isString(attributes)) {\n return AV.Object._create.apply(this, arguments);\n }\n\n attributes = attributes || {};\n\n if (options && options.parse) {\n attributes = this.parse(attributes);\n attributes = this._mergeMagicFields(attributes);\n }\n\n var defaults = getValue(this, 'defaults');\n\n if (defaults) {\n attributes = _.extend({}, defaults, attributes);\n }\n\n if (options && options.collection) {\n this.collection = options.collection;\n }\n\n this._serverData = {}; // The last known data for this object from cloud.\n\n this._opSetQueue = [{}]; // List of sets of changes to the data.\n\n this._flags = {};\n this.attributes = {}; // The best estimate of this's current data.\n\n this._hashedJSON = {}; // Hash of values of containers at last save.\n\n this._escapedAttributes = {};\n this.cid = _.uniqueId('c');\n this.changed = {};\n this._silent = {};\n this._pending = {};\n this.set(attributes, {\n silent: true\n });\n this.changed = {};\n this._silent = {};\n this._pending = {};\n this._hasData = true;\n this._previousAttributes = _.clone(this.attributes);\n this.initialize.apply(this, arguments);\n };\n /**\n * @lends AV.Object.prototype\n * @property {String} id The objectId of the AV Object.\n */\n\n /**\n * Saves the given list of AV.Object.\n * If any error is encountered, stops and calls the error handler.\n *\n * @example\n * AV.Object.saveAll([object1, object2, ...]).then(function(list) {\n * // All the objects were saved.\n * }, function(error) {\n * // An error occurred while saving one of the objects.\n * });\n *\n * @param {Array} list A list ofAV.Object
.\n */\n\n\n AV.Object.saveAll = function (list, options) {\n return AV.Object._deepSaveAsync(list, null, options);\n };\n /**\n * Fetch the given list of AV.Object.\n *\n * @param {AV.Object[]} objects A list of AV.Object
\n * @param {AuthOptions} options\n * @return {Promise.AV.Object
, updated\n */\n\n\n AV.Object.fetchAll = function (objects, options) {\n return _promise.default.resolve().then(function () {\n return _request('batch', null, null, 'POST', {\n requests: (0, _map.default)(_).call(_, objects, function (object) {\n var _context;\n\n if (!object.className) throw new Error('object must have className to fetch');\n if (!object.id) throw new Error('object must have id to fetch');\n if (object.dirty()) throw new Error('object is modified but not saved');\n return {\n method: 'GET',\n path: (0, _concat.default)(_context = \"/1.1/classes/\".concat(object.className, \"/\")).call(_context, object.id)\n };\n })\n }, options);\n }).then(function (response) {\n var results = (0, _map.default)(_).call(_, objects, function (object, i) {\n if (response[i].success) {\n var fetchedAttrs = object.parse(response[i].success);\n\n object._cleanupUnsetKeys(fetchedAttrs);\n\n object._finishFetch(fetchedAttrs);\n\n return object;\n }\n\n if (response[i].success === null) {\n return new AVError(AVError.OBJECT_NOT_FOUND, 'Object not found.');\n }\n\n return new AVError(response[i].error.code, response[i].error.error);\n });\n return handleBatchResults(results);\n });\n }; // Attach all inheritable methods to the AV.Object prototype.\n\n\n _.extend(AV.Object.prototype, AV.Events,\n /** @lends AV.Object.prototype */\n {\n _fetchWhenSave: false,\n\n /**\n * Initialize is an empty function by default. Override it with your own\n * initialization logic.\n */\n initialize: function initialize() {},\n\n /**\n * Set whether to enable fetchWhenSave option when updating object.\n * When set true, SDK would fetch the latest object after saving.\n * Default is false.\n *\n * @deprecated use AV.Object#save with options.fetchWhenSave instead\n * @param {boolean} enable true to enable fetchWhenSave option.\n */\n fetchWhenSave: function fetchWhenSave(enable) {\n console.warn('AV.Object#fetchWhenSave is deprecated, use AV.Object#save with options.fetchWhenSave instead.');\n\n if (!_.isBoolean(enable)) {\n throw new Error('Expect boolean value for fetchWhenSave');\n }\n\n this._fetchWhenSave = enable;\n },\n\n /**\n * Returns the object's objectId.\n * @return {String} the objectId.\n */\n getObjectId: function getObjectId() {\n return this.id;\n },\n\n /**\n * Returns the object's createdAt attribute.\n * @return {Date}\n */\n getCreatedAt: function getCreatedAt() {\n return this.createdAt;\n },\n\n /**\n * Returns the object's updatedAt attribute.\n * @return {Date}\n */\n getUpdatedAt: function getUpdatedAt() {\n return this.updatedAt;\n },\n\n /**\n * Returns a JSON version of the object.\n * @return {Object}\n */\n toJSON: function toJSON(key, holder) {\n var seenObjects = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return this._toFullJSON(seenObjects, false);\n },\n\n /**\n * Returns a JSON version of the object with meta data.\n * Inverse to {@link AV.parseJSON}\n * @since 3.0.0\n * @return {Object}\n */\n toFullJSON: function toFullJSON() {\n var seenObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return this._toFullJSON(seenObjects);\n },\n _toFullJSON: function _toFullJSON(seenObjects) {\n var _this = this;\n\n var full = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var json = _.clone(this.attributes);\n\n if (_.isArray(seenObjects)) {\n var newSeenObjects = (0, _concat.default)(seenObjects).call(seenObjects, this);\n }\n\n AV._objectEach(json, function (val, key) {\n json[key] = AV._encode(val, newSeenObjects, undefined, full);\n });\n\n AV._objectEach(this._operations, function (val, key) {\n json[key] = val;\n });\n\n if (_.has(this, 'id')) {\n json.objectId = this.id;\n }\n\n ['createdAt', 'updatedAt'].forEach(function (key) {\n if (_.has(_this, key)) {\n var val = _this[key];\n json[key] = _.isDate(val) ? val.toJSON() : val;\n }\n });\n\n if (full) {\n json.__type = 'Object';\n if (_.isArray(seenObjects) && seenObjects.length) json.__type = 'Pointer';\n json.className = this.className;\n }\n\n return json;\n },\n\n /**\n * Updates _hashedJSON to reflect the current state of this object.\n * Adds any changed hash values to the set of pending changes.\n * @private\n */\n _refreshCache: function _refreshCache() {\n var self = this;\n\n if (self._refreshingCache) {\n return;\n }\n\n self._refreshingCache = true;\n\n AV._objectEach(this.attributes, function (value, key) {\n if (value instanceof AV.Object) {\n value._refreshCache();\n } else if (_.isObject(value)) {\n if (self._resetCacheForKey(key)) {\n self.set(key, new AV.Op.Set(value), {\n silent: true\n });\n }\n }\n });\n\n delete self._refreshingCache;\n },\n\n /**\n * Returns true if this object has been modified since its last\n * save/refresh. If an attribute is specified, it returns true only if that\n * particular attribute has been modified since the last save/refresh.\n * @param {String} attr An attribute name (optional).\n * @return {Boolean}\n */\n dirty: function dirty(attr) {\n this._refreshCache();\n\n var currentChanges = _.last(this._opSetQueue);\n\n if (attr) {\n return currentChanges[attr] ? true : false;\n }\n\n if (!this.id) {\n return true;\n }\n\n if ((0, _keys2.default)(_).call(_, currentChanges).length > 0) {\n return true;\n }\n\n return false;\n },\n\n /**\n * Returns the keys of the modified attribute since its last save/refresh.\n * @return {String[]}\n */\n dirtyKeys: function dirtyKeys() {\n this._refreshCache();\n\n var currentChanges = _.last(this._opSetQueue);\n\n return (0, _keys2.default)(_).call(_, currentChanges);\n },\n\n /**\n * Gets a Pointer referencing this Object.\n * @private\n */\n _toPointer: function _toPointer() {\n // if (!this.id) {\n // throw new Error(\"Can't serialize an unsaved AV.Object\");\n // }\n return {\n __type: 'Pointer',\n className: this.className,\n objectId: this.id\n };\n },\n\n /**\n * Gets the value of an attribute.\n * @param {String} attr The string name of an attribute.\n */\n get: function get(attr) {\n switch (attr) {\n case 'objectId':\n return this.id;\n\n case 'createdAt':\n case 'updatedAt':\n return this[attr];\n\n default:\n return this.attributes[attr];\n }\n },\n\n /**\n * Gets a relation on the given class for the attribute.\n * @param {String} attr The attribute to get the relation for.\n * @return {AV.Relation}\n */\n relation: function relation(attr) {\n var value = this.get(attr);\n\n if (value) {\n if (!(value instanceof AV.Relation)) {\n throw new Error('Called relation() on non-relation field ' + attr);\n }\n\n value._ensureParentAndKey(this, attr);\n\n return value;\n } else {\n return new AV.Relation(this, attr);\n }\n },\n\n /**\n * Gets the HTML-escaped value of an attribute.\n */\n escape: function escape(attr) {\n var html = this._escapedAttributes[attr];\n\n if (html) {\n return html;\n }\n\n var val = this.attributes[attr];\n var escaped;\n\n if (isNullOrUndefined(val)) {\n escaped = '';\n } else {\n escaped = _.escape(val.toString());\n }\n\n this._escapedAttributes[attr] = escaped;\n return escaped;\n },\n\n /**\n * Returns true
if the attribute contains a value that is not\n * null or undefined.\n * @param {String} attr The string name of the attribute.\n * @return {Boolean}\n */\n has: function has(attr) {\n return !isNullOrUndefined(this.attributes[attr]);\n },\n\n /**\n * Pulls \"special\" fields like objectId, createdAt, etc. out of attrs\n * and puts them on \"this\" directly. Removes them from attrs.\n * @param attrs - A dictionary with the data for this AV.Object.\n * @private\n */\n _mergeMagicFields: function _mergeMagicFields(attrs) {\n // Check for changes of magic fields.\n var model = this;\n var specialFields = ['objectId', 'createdAt', 'updatedAt'];\n\n AV._arrayEach(specialFields, function (attr) {\n if (attrs[attr]) {\n if (attr === 'objectId') {\n model.id = attrs[attr];\n } else if ((attr === 'createdAt' || attr === 'updatedAt') && !_.isDate(attrs[attr])) {\n model[attr] = AV._parseDate(attrs[attr]);\n } else {\n model[attr] = attrs[attr];\n }\n\n delete attrs[attr];\n }\n });\n\n return attrs;\n },\n\n /**\n * Returns the json to be sent to the server.\n * @private\n */\n _startSave: function _startSave() {\n this._opSetQueue.push({});\n },\n\n /**\n * Called when a save fails because of an error. Any changes that were part\n * of the save need to be merged with changes made after the save. This\n * might throw an exception is you do conflicting operations. For example,\n * if you do:\n * object.set(\"foo\", \"bar\");\n * object.set(\"invalid field name\", \"baz\");\n * object.save();\n * object.increment(\"foo\");\n * then this will throw when the save fails and the client tries to merge\n * \"bar\" with the +1.\n * @private\n */\n _cancelSave: function _cancelSave() {\n var failedChanges = _.first(this._opSetQueue);\n\n this._opSetQueue = _.rest(this._opSetQueue);\n\n var nextChanges = _.first(this._opSetQueue);\n\n AV._objectEach(failedChanges, function (op, key) {\n var op1 = failedChanges[key];\n var op2 = nextChanges[key];\n\n if (op1 && op2) {\n nextChanges[key] = op2._mergeWithPrevious(op1);\n } else if (op1) {\n nextChanges[key] = op1;\n }\n });\n\n this._saving = this._saving - 1;\n },\n\n /**\n * Called when a save completes successfully. This merges the changes that\n * were saved into the known server data, and overrides it with any data\n * sent directly from the server.\n * @private\n */\n _finishSave: function _finishSave(serverData) {\n var _context2;\n\n // Grab a copy of any object referenced by this object. These instances\n // may have already been fetched, and we don't want to lose their data.\n // Note that doing it like this means we will unify separate copies of the\n // same object, but that's a risk we have to take.\n var fetchedObjects = {};\n\n AV._traverse(this.attributes, function (object) {\n if (object instanceof AV.Object && object.id && object._hasData) {\n fetchedObjects[object.id] = object;\n }\n });\n\n var savedChanges = _.first(this._opSetQueue);\n\n this._opSetQueue = _.rest(this._opSetQueue);\n\n this._applyOpSet(savedChanges, this._serverData);\n\n this._mergeMagicFields(serverData);\n\n var self = this;\n\n AV._objectEach(serverData, function (value, key) {\n self._serverData[key] = AV._decode(value, key); // Look for any objects that might have become unfetched and fix them\n // by replacing their values with the previously observed values.\n\n var fetched = AV._traverse(self._serverData[key], function (object) {\n if (object instanceof AV.Object && fetchedObjects[object.id]) {\n return fetchedObjects[object.id];\n }\n });\n\n if (fetched) {\n self._serverData[key] = fetched;\n }\n });\n\n this._rebuildAllEstimatedData();\n\n var opSetQueue = (0, _map.default)(_context2 = this._opSetQueue).call(_context2, _.clone);\n\n this._refreshCache();\n\n this._opSetQueue = opSetQueue;\n this._saving = this._saving - 1;\n },\n\n /**\n * Called when a fetch or login is complete to set the known server data to\n * the given object.\n * @private\n */\n _finishFetch: function _finishFetch(serverData, hasData) {\n // Clear out any changes the user might have made previously.\n this._opSetQueue = [{}]; // Bring in all the new server data.\n\n this._mergeMagicFields(serverData);\n\n var self = this;\n\n AV._objectEach(serverData, function (value, key) {\n self._serverData[key] = AV._decode(value, key);\n }); // Refresh the attributes.\n\n\n this._rebuildAllEstimatedData(); // Clear out the cache of mutable containers.\n\n\n this._refreshCache();\n\n this._opSetQueue = [{}];\n this._hasData = hasData;\n },\n\n /**\n * Applies the set of AV.Op in opSet to the object target.\n * @private\n */\n _applyOpSet: function _applyOpSet(opSet, target) {\n var self = this;\n\n AV._objectEach(opSet, function (change, key) {\n var _findValue = findValue(target, key),\n _findValue2 = (0, _slicedToArray2.default)(_findValue, 3),\n value = _findValue2[0],\n actualTarget = _findValue2[1],\n actualKey = _findValue2[2];\n\n setValue(target, key, change._estimate(value, self, key));\n\n if (actualTarget && actualTarget[actualKey] === AV.Op._UNSET) {\n delete actualTarget[actualKey];\n }\n });\n },\n\n /**\n * Replaces the cached value for key with the current value.\n * Returns true if the new value is different than the old value.\n * @private\n */\n _resetCacheForKey: function _resetCacheForKey(key) {\n var value = this.attributes[key];\n\n if (_.isObject(value) && !(value instanceof AV.Object) && !(value instanceof AV.File)) {\n var json = (0, _stringify.default)(recursiveToPointer(value));\n\n if (this._hashedJSON[key] !== json) {\n var wasSet = !!this._hashedJSON[key];\n this._hashedJSON[key] = json;\n return wasSet;\n }\n }\n\n return false;\n },\n\n /**\n * Populates attributes[key] by starting with the last known data from the\n * server, and applying all of the local changes that have been made to that\n * key since then.\n * @private\n */\n _rebuildEstimatedDataForKey: function _rebuildEstimatedDataForKey(key) {\n var self = this;\n delete this.attributes[key];\n\n if (this._serverData[key]) {\n this.attributes[key] = this._serverData[key];\n }\n\n AV._arrayEach(this._opSetQueue, function (opSet) {\n var op = opSet[key];\n\n if (op) {\n var _findValue3 = findValue(self.attributes, key),\n _findValue4 = (0, _slicedToArray2.default)(_findValue3, 4),\n value = _findValue4[0],\n actualTarget = _findValue4[1],\n actualKey = _findValue4[2],\n firstKey = _findValue4[3];\n\n setValue(self.attributes, key, op._estimate(value, self, key));\n\n if (actualTarget && actualTarget[actualKey] === AV.Op._UNSET) {\n delete actualTarget[actualKey];\n }\n\n self._resetCacheForKey(firstKey);\n }\n });\n },\n\n /**\n * Populates attributes by starting with the last known data from the\n * server, and applying all of the local changes that have been made since\n * then.\n * @private\n */\n _rebuildAllEstimatedData: function _rebuildAllEstimatedData() {\n var self = this;\n\n var previousAttributes = _.clone(this.attributes);\n\n this.attributes = _.clone(this._serverData);\n\n AV._arrayEach(this._opSetQueue, function (opSet) {\n self._applyOpSet(opSet, self.attributes);\n\n AV._objectEach(opSet, function (op, key) {\n self._resetCacheForKey(key);\n });\n }); // Trigger change events for anything that changed because of the fetch.\n\n\n AV._objectEach(previousAttributes, function (oldValue, key) {\n if (self.attributes[key] !== oldValue) {\n self.trigger('change:' + key, self, self.attributes[key], {});\n }\n });\n\n AV._objectEach(this.attributes, function (newValue, key) {\n if (!_.has(previousAttributes, key)) {\n self.trigger('change:' + key, self, newValue, {});\n }\n });\n },\n\n /**\n * Sets a hash of model attributes on the object, firing\n * \"change\"
unless you choose to silence it.\n *\n * You can call it with an object containing keys and values, or with one\n * key and value. For example:
\n *\n * @example\n * gameTurn.set({\n * player: player1,\n * diceRoll: 2\n * });\n *\n * game.set(\"currentPlayer\", player2);\n *\n * game.set(\"finished\", true);\n *\n * @param {String} key The key to set.\n * @param {Any} value The value to give it.\n * @param {Object} [options]\n * @param {Boolean} [options.silent]\n * @return {AV.Object} self if succeeded, throws if the value is not valid.\n * @see AV.Object#validate\n */\n set: function set(key, value, options) {\n var attrs;\n\n if (_.isObject(key) || isNullOrUndefined(key)) {\n attrs = _.mapObject(key, function (v, k) {\n checkReservedKey(k);\n return AV._decode(v, k);\n });\n options = value;\n } else {\n attrs = {};\n checkReservedKey(key);\n attrs[key] = AV._decode(value, key);\n } // Extract attributes and options.\n\n\n options = options || {};\n\n if (!attrs) {\n return this;\n }\n\n if (attrs instanceof AV.Object) {\n attrs = attrs.attributes;\n } // If the unset option is used, every attribute should be a Unset.\n\n\n if (options.unset) {\n AV._objectEach(attrs, function (unused_value, key) {\n attrs[key] = new AV.Op.Unset();\n });\n } // Apply all the attributes to get the estimated values.\n\n\n var dataToValidate = _.clone(attrs);\n\n var self = this;\n\n AV._objectEach(dataToValidate, function (value, key) {\n if (value instanceof AV.Op) {\n dataToValidate[key] = value._estimate(self.attributes[key], self, key);\n\n if (dataToValidate[key] === AV.Op._UNSET) {\n delete dataToValidate[key];\n }\n }\n }); // Run validation.\n\n\n this._validate(attrs, options);\n\n options.changes = {};\n var escaped = this._escapedAttributes; // Update attributes.\n\n AV._arrayEach((0, _keys2.default)(_).call(_, attrs), function (attr) {\n var val = attrs[attr]; // If this is a relation object we need to set the parent correctly,\n // since the location where it was parsed does not have access to\n // this object.\n\n if (val instanceof AV.Relation) {\n val.parent = self;\n }\n\n if (!(val instanceof AV.Op)) {\n val = new AV.Op.Set(val);\n } // See if this change will actually have any effect.\n\n\n var isRealChange = true;\n\n if (val instanceof AV.Op.Set && _.isEqual(self.attributes[attr], val.value)) {\n isRealChange = false;\n }\n\n if (isRealChange) {\n delete escaped[attr];\n\n if (options.silent) {\n self._silent[attr] = true;\n } else {\n options.changes[attr] = true;\n }\n }\n\n var currentChanges = _.last(self._opSetQueue);\n\n currentChanges[attr] = val._mergeWithPrevious(currentChanges[attr]);\n\n self._rebuildEstimatedDataForKey(attr);\n\n if (isRealChange) {\n self.changed[attr] = self.attributes[attr];\n\n if (!options.silent) {\n self._pending[attr] = true;\n }\n } else {\n delete self.changed[attr];\n delete self._pending[attr];\n }\n });\n\n if (!options.silent) {\n this.change(options);\n }\n\n return this;\n },\n\n /**\n * Remove an attribute from the model, firing\"change\"
unless\n * you choose to silence it. This is a noop if the attribute doesn't\n * exist.\n * @param key {String} The key.\n */\n unset: function unset(attr, options) {\n options = options || {};\n options.unset = true;\n return this.set(attr, null, options);\n },\n\n /**\n * Atomically increments the value of the given attribute the next time the\n * object is saved. If no amount is specified, 1 is used by default.\n *\n * @param key {String} The key.\n * @param amount {Number} The amount to increment by.\n */\n increment: function increment(attr, amount) {\n if (_.isUndefined(amount) || _.isNull(amount)) {\n amount = 1;\n }\n\n return this.set(attr, new AV.Op.Increment(amount));\n },\n\n /**\n * Atomically add an object to the end of the array associated with a given\n * key.\n * @param key {String} The key.\n * @param item {} The item to add.\n */\n add: function add(attr, item) {\n return this.set(attr, new AV.Op.Add(ensureArray(item)));\n },\n\n /**\n * Atomically add an object to the array associated with a given key, only\n * if it is not already present in the array. The position of the insert is\n * not guaranteed.\n *\n * @param key {String} The key.\n * @param item {} The object to add.\n */\n addUnique: function addUnique(attr, item) {\n return this.set(attr, new AV.Op.AddUnique(ensureArray(item)));\n },\n\n /**\n * Atomically remove all instances of an object from the array associated\n * with a given key.\n *\n * @param key {String} The key.\n * @param item {} The object to remove.\n */\n remove: function remove(attr, item) {\n return this.set(attr, new AV.Op.Remove(ensureArray(item)));\n },\n\n /**\n * Atomically apply a \"bit and\" operation on the value associated with a\n * given key.\n *\n * @param key {String} The key.\n * @param value {Number} The value to apply.\n */\n bitAnd: function bitAnd(attr, value) {\n return this.set(attr, new AV.Op.BitAnd(value));\n },\n\n /**\n * Atomically apply a \"bit or\" operation on the value associated with a\n * given key.\n *\n * @param key {String} The key.\n * @param value {Number} The value to apply.\n */\n bitOr: function bitOr(attr, value) {\n return this.set(attr, new AV.Op.BitOr(value));\n },\n\n /**\n * Atomically apply a \"bit xor\" operation on the value associated with a\n * given key.\n *\n * @param key {String} The key.\n * @param value {Number} The value to apply.\n */\n bitXor: function bitXor(attr, value) {\n return this.set(attr, new AV.Op.BitXor(value));\n },\n\n /**\n * Returns an instance of a subclass of AV.Op describing what kind of\n * modification has been performed on this field since the last time it was\n * saved. For example, after calling object.increment(\"x\"), calling\n * object.op(\"x\") would return an instance of AV.Op.Increment.\n *\n * @param key {String} The key.\n * @returns {AV.Op} The operation, or undefined if none.\n */\n op: function op(attr) {\n return _.last(this._opSetQueue)[attr];\n },\n\n /**\n * Clear all attributes on the model, firing \"change\"
unless\n * you choose to silence it.\n */\n clear: function clear(options) {\n options = options || {};\n options.unset = true;\n\n var keysToClear = _.extend(this.attributes, this._operations);\n\n return this.set(keysToClear, options);\n },\n\n /**\n * Clears any (or specific) changes to the model made since the last save.\n * @param {string|string[]} [keys] specify keys to revert.\n */\n revert: function revert(keys) {\n var lastOp = _.last(this._opSetQueue);\n\n var _keys = ensureArray(keys || (0, _keys2.default)(_).call(_, lastOp));\n\n _keys.forEach(function (key) {\n delete lastOp[key];\n });\n\n this._rebuildAllEstimatedData();\n\n return this;\n },\n\n /**\n * Returns a JSON-encoded set of operations to be sent with the next save\n * request.\n * @private\n */\n _getSaveJSON: function _getSaveJSON() {\n var json = _.clone(_.first(this._opSetQueue));\n\n AV._objectEach(json, function (op, key) {\n json[key] = op.toJSON();\n });\n\n return json;\n },\n\n /**\n * Returns true if this object can be serialized for saving.\n * @private\n */\n _canBeSerialized: function _canBeSerialized() {\n return AV.Object._canBeSerializedAsValue(this.attributes);\n },\n\n /**\n * Fetch the model from the server. If the server's representation of the\n * model differs from its current attributes, they will be overriden,\n * triggering a \"change\"
event.\n * @param {Object} fetchOptions Optional options to set 'keys',\n * 'include' and 'includeACL' option.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the fetch\n * completes.\n */\n fetch: function fetch() {\n var fetchOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 ? arguments[1] : undefined;\n\n if (!this.id) {\n throw new Error('Cannot fetch unsaved object');\n }\n\n var self = this;\n\n var request = _request('classes', this.className, this.id, 'GET', transformFetchOptions(fetchOptions), options);\n\n return request.then(function (response) {\n var fetchedAttrs = self.parse(response);\n\n self._cleanupUnsetKeys(fetchedAttrs, (0, _keys2.default)(fetchOptions) ? ensureArray((0, _keys2.default)(fetchOptions)).join(',').split(',') : undefined);\n\n self._finishFetch(fetchedAttrs, true);\n\n return self;\n });\n },\n _cleanupUnsetKeys: function _cleanupUnsetKeys(fetchedAttrs) {\n var _this2 = this;\n\n var fetchedKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (0, _keys2.default)(_).call(_, this._serverData);\n\n _.forEach(fetchedKeys, function (key) {\n if (fetchedAttrs[key] === undefined) delete _this2._serverData[key];\n });\n },\n\n /**\n * Set a hash of model attributes, and save the model to the server.\n * updatedAt will be updated when the request returns.\n * You can either call it as:\n * object.save();\n * or
\n * object.save(null, options);\n * or
\n * object.save(attrs, options);\n * or
\n * object.save(key, value, options);\n *\n * @example\n * gameTurn.save({\n * player: \"Jake Cutter\",\n * diceRoll: 2\n * }).then(function(gameTurnAgain) {\n * // The save was successful.\n * }, function(error) {\n * // The save failed. Error is an instance of AVError.\n * });\n *\n * @param {AuthOptions} options AuthOptions plus:\n * @param {Boolean} options.fetchWhenSave fetch and update object after save succeeded\n * @param {AV.Query} options.query Save object only when it matches the query\n * @return {Promise} A promise that is fulfilled when the save\n * completes.\n * @see AVError\n */\n save: function save(arg1, arg2, arg3) {\n var attrs, current, options;\n\n if (_.isObject(arg1) || isNullOrUndefined(arg1)) {\n attrs = arg1;\n options = arg2;\n } else {\n attrs = {};\n attrs[arg1] = arg2;\n options = arg3;\n }\n\n options = _.clone(options) || {};\n\n if (options.wait) {\n current = _.clone(this.attributes);\n }\n\n var setOptions = _.clone(options) || {};\n\n if (setOptions.wait) {\n setOptions.silent = true;\n }\n\n if (attrs) {\n this.set(attrs, setOptions);\n }\n\n var model = this;\n var unsavedChildren = [];\n var unsavedFiles = [];\n\n AV.Object._findUnsavedChildren(model, unsavedChildren, unsavedFiles);\n\n if (unsavedChildren.length + unsavedFiles.length > 1) {\n return AV.Object._deepSaveAsync(this, model, options);\n }\n\n this._startSave();\n\n this._saving = (this._saving || 0) + 1;\n this._allPreviousSaves = this._allPreviousSaves || _promise.default.resolve();\n this._allPreviousSaves = this._allPreviousSaves.catch(function (e) {}).then(function () {\n var method = model.id ? 'PUT' : 'POST';\n\n var json = model._getSaveJSON();\n\n var query = {};\n\n if (model._fetchWhenSave || options.fetchWhenSave) {\n query['new'] = 'true';\n } // user login option\n\n\n if (options._failOnNotExist) {\n query.failOnNotExist = 'true';\n }\n\n if (options.query) {\n var queryParams;\n\n if (typeof options.query._getParams === 'function') {\n queryParams = options.query._getParams();\n\n if (queryParams) {\n query.where = queryParams.where;\n }\n }\n\n if (!query.where) {\n var error = new Error('options.query is not an AV.Query');\n throw error;\n }\n }\n\n _.extend(json, model._flags);\n\n var route = 'classes';\n var className = model.className;\n\n if (model.className === '_User' && !model.id) {\n // Special-case user sign-up.\n route = 'users';\n className = null;\n } //hook makeRequest in options.\n\n\n var makeRequest = options._makeRequest || _request;\n var requestPromise = makeRequest(route, className, model.id, method, json, options, query);\n requestPromise = requestPromise.then(function (resp) {\n var serverAttrs = model.parse(resp);\n\n if (options.wait) {\n serverAttrs = _.extend(attrs || {}, serverAttrs);\n }\n\n model._finishSave(serverAttrs);\n\n if (options.wait) {\n model.set(current, setOptions);\n }\n\n return model;\n }, function (error) {\n model._cancelSave();\n\n throw error;\n });\n return requestPromise;\n });\n return this._allPreviousSaves;\n },\n\n /**\n * Destroy this model on the server if it was already persisted.\n * Optimistically removes the model from its collection, if it has one.\n * @param {AuthOptions} options AuthOptions plus:\n * @param {Boolean} [options.wait] wait for the server to respond\n * before removal.\n *\n * @return {Promise} A promise that is fulfilled when the destroy\n * completes.\n */\n destroy: function destroy(options) {\n options = options || {};\n var model = this;\n\n var triggerDestroy = function triggerDestroy() {\n model.trigger('destroy', model, model.collection, options);\n };\n\n if (!this.id) {\n return triggerDestroy();\n }\n\n if (!options.wait) {\n triggerDestroy();\n }\n\n var request = _request('classes', this.className, this.id, 'DELETE', this._flags, options);\n\n return request.then(function () {\n if (options.wait) {\n triggerDestroy();\n }\n\n return model;\n });\n },\n\n /**\n * Converts a response into the hash of attributes to be set on the model.\n * @ignore\n */\n parse: function parse(resp) {\n var output = _.clone(resp);\n\n ['createdAt', 'updatedAt'].forEach(function (key) {\n if (output[key]) {\n output[key] = AV._parseDate(output[key]);\n }\n });\n\n if (output.createdAt && !output.updatedAt) {\n output.updatedAt = output.createdAt;\n }\n\n return output;\n },\n\n /**\n * Creates a new model with identical attributes to this one.\n * @return {AV.Object}\n */\n clone: function clone() {\n return new this.constructor(this.attributes);\n },\n\n /**\n * Returns true if this object has never been saved to AV.\n * @return {Boolean}\n */\n isNew: function isNew() {\n return !this.id;\n },\n\n /**\n * Call this method to manually fire a `\"change\"` event for this model and\n * a `\"change:attribute\"` event for each changed attribute.\n * Calling this will cause all objects observing the model to update.\n */\n change: function change(options) {\n options = options || {};\n var changing = this._changing;\n this._changing = true; // Silent changes become pending changes.\n\n var self = this;\n\n AV._objectEach(this._silent, function (attr) {\n self._pending[attr] = true;\n }); // Silent changes are triggered.\n\n\n var changes = _.extend({}, options.changes, this._silent);\n\n this._silent = {};\n\n AV._objectEach(changes, function (unused_value, attr) {\n self.trigger('change:' + attr, self, self.get(attr), options);\n });\n\n if (changing) {\n return this;\n } // This is to get around lint not letting us make a function in a loop.\n\n\n var deleteChanged = function deleteChanged(value, attr) {\n if (!self._pending[attr] && !self._silent[attr]) {\n delete self.changed[attr];\n }\n }; // Continue firing `\"change\"` events while there are pending changes.\n\n\n while (!_.isEmpty(this._pending)) {\n this._pending = {};\n this.trigger('change', this, options); // Pending and silent changes still remain.\n\n AV._objectEach(this.changed, deleteChanged);\n\n self._previousAttributes = _.clone(this.attributes);\n }\n\n this._changing = false;\n return this;\n },\n\n /**\n * Gets the previous value of an attribute, recorded at the time the last\n *
\"change\"
event was fired.\n * @param {String} attr Name of the attribute to get.\n */\n previous: function previous(attr) {\n if (!arguments.length || !this._previousAttributes) {\n return null;\n }\n\n return this._previousAttributes[attr];\n },\n\n /**\n * Gets all of the attributes of the model at the time of the previous\n * \"change\"
event.\n * @return {Object}\n */\n previousAttributes: function previousAttributes() {\n return _.clone(this._previousAttributes);\n },\n\n /**\n * Checks if the model is currently in a valid state. It's only possible to\n * get into an *invalid* state if you're using silent changes.\n * @return {Boolean}\n */\n isValid: function isValid() {\n try {\n this.validate(this.attributes);\n } catch (error) {\n return false;\n }\n\n return true;\n },\n\n /**\n * You should not call this function directly unless you subclass\n * AV.Object
, in which case you can override this method\n * to provide additional validation on set
and\n * save
. Your implementation should throw an Error if\n * the attrs is invalid\n *\n * @param {Object} attrs The current data to validate.\n * @see AV.Object#set\n */\n validate: function validate(attrs) {\n if (_.has(attrs, 'ACL') && !(attrs.ACL instanceof AV.ACL)) {\n throw new AVError(AVError.OTHER_CAUSE, 'ACL must be a AV.ACL.');\n }\n },\n\n /**\n * Run validation against a set of incoming attributes, returning `true`\n * if all is well. If a specific `error` callback has been passed,\n * call that instead of firing the general `\"error\"` event.\n * @private\n */\n _validate: function _validate(attrs, options) {\n if (options.silent || !this.validate) {\n return;\n }\n\n attrs = _.extend({}, this.attributes, attrs);\n this.validate(attrs);\n },\n\n /**\n * Returns the ACL for this object.\n * @returns {AV.ACL} An instance of AV.ACL.\n * @see AV.Object#get\n */\n getACL: function getACL() {\n return this.get('ACL');\n },\n\n /**\n * Sets the ACL to be used for this object.\n * @param {AV.ACL} acl An instance of AV.ACL.\n * @param {Object} options Optional Backbone-like options object to be\n * passed in to set.\n * @return {AV.Object} self\n * @see AV.Object#set\n */\n setACL: function setACL(acl, options) {\n return this.set('ACL', acl, options);\n },\n disableBeforeHook: function disableBeforeHook() {\n this.ignoreHook('beforeSave');\n this.ignoreHook('beforeUpdate');\n this.ignoreHook('beforeDelete');\n },\n disableAfterHook: function disableAfterHook() {\n this.ignoreHook('afterSave');\n this.ignoreHook('afterUpdate');\n this.ignoreHook('afterDelete');\n },\n ignoreHook: function ignoreHook(hookName) {\n if (!_.contains(['beforeSave', 'afterSave', 'beforeUpdate', 'afterUpdate', 'beforeDelete', 'afterDelete'], hookName)) {\n throw new Error('Unsupported hookName: ' + hookName);\n }\n\n if (!AV.hookKey) {\n throw new Error('ignoreHook required hookKey');\n }\n\n if (!this._flags.__ignore_hooks) {\n this._flags.__ignore_hooks = [];\n }\n\n this._flags.__ignore_hooks.push(hookName);\n }\n });\n /**\n * Creates an instance of a subclass of AV.Object for the give classname\n * and id.\n * @param {String|Function} class the className or a subclass of AV.Object.\n * @param {String} id The object id of this model.\n * @return {AV.Object} A new subclass instance of AV.Object.\n */\n\n\n AV.Object.createWithoutData = function (klass, id, hasData) {\n var _klass;\n\n if (_.isString(klass)) {\n _klass = AV.Object._getSubclass(klass);\n } else if (klass.prototype && klass.prototype instanceof AV.Object) {\n _klass = klass;\n } else {\n throw new Error('class must be a string or a subclass of AV.Object.');\n }\n\n if (!id) {\n throw new TypeError('The objectId must be provided');\n }\n\n var object = new _klass();\n object.id = id;\n object._hasData = hasData;\n return object;\n };\n /**\n * Delete objects in batch.\n * @param {AV.Object[]} objects The AV.Object
array to be deleted.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the save\n * completes.\n */\n\n\n AV.Object.destroyAll = function (objects) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!objects || objects.length === 0) {\n return _promise.default.resolve();\n }\n\n var objectsByClassNameAndFlags = _.groupBy(objects, function (object) {\n return (0, _stringify.default)({\n className: object.className,\n flags: object._flags\n });\n });\n\n var body = {\n requests: (0, _map.default)(_).call(_, objectsByClassNameAndFlags, function (objects) {\n var _context3;\n\n var ids = (0, _map.default)(_).call(_, objects, 'id').join(',');\n return {\n method: 'DELETE',\n path: (0, _concat.default)(_context3 = \"/1.1/classes/\".concat(objects[0].className, \"/\")).call(_context3, ids),\n body: objects[0]._flags\n };\n })\n };\n return _request('batch', null, null, 'POST', body, options).then(function (response) {\n var firstError = (0, _find.default)(_).call(_, response, function (result) {\n return !result.success;\n });\n if (firstError) throw new AVError(firstError.error.code, firstError.error.error);\n return undefined;\n });\n };\n /**\n * Returns the appropriate subclass for making new instances of the given\n * className string.\n * @private\n */\n\n\n AV.Object._getSubclass = function (className) {\n if (!_.isString(className)) {\n throw new Error('AV.Object._getSubclass requires a string argument.');\n }\n\n var ObjectClass = AV.Object._classMap[className];\n\n if (!ObjectClass) {\n ObjectClass = AV.Object.extend(className);\n AV.Object._classMap[className] = ObjectClass;\n }\n\n return ObjectClass;\n };\n /**\n * Creates an instance of a subclass of AV.Object for the given classname.\n * @private\n */\n\n\n AV.Object._create = function (className, attributes, options) {\n var ObjectClass = AV.Object._getSubclass(className);\n\n return new ObjectClass(attributes, options);\n }; // Set up a map of className to class so that we can create new instances of\n // AV Objects from JSON automatically.\n\n\n AV.Object._classMap = {};\n AV.Object._extend = AV._extend;\n /**\n * Creates a new model with defined attributes,\n * It's the same with\n * \n * new AV.Object(attributes, options);\n *\n * @param {Object} attributes The initial set of data to store in the object.\n * @param {Object} options A set of Backbone-like options for creating the\n * object. The only option currently supported is \"collection\".\n * @return {AV.Object}\n * @since v0.4.4\n * @see AV.Object\n * @see AV.Object.extend\n */\n\n AV.Object['new'] = function (attributes, options) {\n return new AV.Object(attributes, options);\n };\n /**\n * Creates a new subclass of AV.Object for the given AV class name.\n *\n *
Every extension of a AV class will inherit from the most recent\n * previous extension of that class. When a AV.Object is automatically\n * created by parsing JSON, it will use the most recent extension of that\n * class.
\n *\n * @example\n * var MyClass = AV.Object.extend(\"MyClass\", {\n * // Instance properties\n * }, {\n * // Class properties\n * });\n *\n * @param {String} className The name of the AV class backing this model.\n * @param {Object} protoProps Instance properties to add to instances of the\n * class returned from this method.\n * @param {Object} classProps Class properties to add the class returned from\n * this method.\n * @return {Class} A new subclass of AV.Object.\n */\n\n\n AV.Object.extend = function (className, protoProps, classProps) {\n // Handle the case with only two args.\n if (!_.isString(className)) {\n if (className && _.has(className, 'className')) {\n return AV.Object.extend(className.className, className, protoProps);\n } else {\n throw new Error(\"AV.Object.extend's first argument should be the className.\");\n }\n } // If someone tries to subclass \"User\", coerce it to the right type.\n\n\n if (className === 'User') {\n className = '_User';\n }\n\n var NewClassObject = null;\n\n if (_.has(AV.Object._classMap, className)) {\n var OldClassObject = AV.Object._classMap[className]; // This new subclass has been told to extend both from \"this\" and from\n // OldClassObject. This is multiple inheritance, which isn't supported.\n // For now, let's just pick one.\n\n if (protoProps || classProps) {\n NewClassObject = OldClassObject._extend(protoProps, classProps);\n } else {\n return OldClassObject;\n }\n } else {\n protoProps = protoProps || {};\n protoProps._className = className;\n NewClassObject = this._extend(protoProps, classProps);\n } // Extending a subclass should reuse the classname automatically.\n\n\n NewClassObject.extend = function (arg0) {\n var _context4;\n\n if (_.isString(arg0) || arg0 && _.has(arg0, 'className')) {\n return AV.Object.extend.apply(NewClassObject, arguments);\n }\n\n var newArguments = (0, _concat.default)(_context4 = [className]).call(_context4, _.toArray(arguments));\n return AV.Object.extend.apply(NewClassObject, newArguments);\n }; // Add the query property descriptor.\n\n\n (0, _defineProperty.default)(NewClassObject, 'query', (0, _getOwnPropertyDescriptor.default)(AV.Object, 'query'));\n\n NewClassObject['new'] = function (attributes, options) {\n return new NewClassObject(attributes, options);\n };\n\n AV.Object._classMap[className] = NewClassObject;\n return NewClassObject;\n }; // ES6 class syntax support\n\n\n (0, _defineProperty.default)(AV.Object.prototype, 'className', {\n get: function get() {\n var className = this._className || this.constructor._LCClassName || this.constructor.name; // If someone tries to subclass \"User\", coerce it to the right type.\n\n if (className === 'User') {\n return '_User';\n }\n\n return className;\n }\n });\n /**\n * Register a class.\n * If a subclass ofAV.Object
is defined with your own implement\n * rather then AV.Object.extend
, the subclass must be registered.\n * @param {Function} klass A subclass of AV.Object
\n * @param {String} [name] Specify the name of the class. Useful when the class might be uglified.\n * @example\n * class Person extend AV.Object {}\n * AV.Object.register(Person);\n */\n\n AV.Object.register = function (klass, name) {\n if (!(klass.prototype instanceof AV.Object)) {\n throw new Error('registered class is not a subclass of AV.Object');\n }\n\n var className = name || klass.name;\n\n if (!className.length) {\n throw new Error('registered class must be named');\n }\n\n if (name) {\n klass._LCClassName = name;\n }\n\n AV.Object._classMap[className] = klass;\n };\n /**\n * Get a new Query of the current class\n * @name query\n * @memberof AV.Object\n * @type AV.Query\n * @readonly\n * @since v3.1.0\n * @example\n * const Post = AV.Object.extend('Post');\n * Post.query.equalTo('author', 'leancloud').find().then();\n */\n\n\n (0, _defineProperty.default)(AV.Object, 'query', {\n get: function get() {\n return new AV.Query(this.prototype.className);\n }\n });\n\n AV.Object._findUnsavedChildren = function (objects, children, files) {\n AV._traverse(objects, function (object) {\n if (object instanceof AV.Object) {\n if (object.dirty()) {\n children.push(object);\n }\n\n return;\n }\n\n if (object instanceof AV.File) {\n if (!object.id) {\n files.push(object);\n }\n\n return;\n }\n });\n };\n\n AV.Object._canBeSerializedAsValue = function (object) {\n var canBeSerializedAsValue = true;\n\n if (object instanceof AV.Object || object instanceof AV.File) {\n canBeSerializedAsValue = !!object.id;\n } else if (_.isArray(object)) {\n AV._arrayEach(object, function (child) {\n if (!AV.Object._canBeSerializedAsValue(child)) {\n canBeSerializedAsValue = false;\n }\n });\n } else if (_.isObject(object)) {\n AV._objectEach(object, function (child) {\n if (!AV.Object._canBeSerializedAsValue(child)) {\n canBeSerializedAsValue = false;\n }\n });\n }\n\n return canBeSerializedAsValue;\n };\n\n AV.Object._deepSaveAsync = function (object, model, options) {\n var unsavedChildren = [];\n var unsavedFiles = [];\n\n AV.Object._findUnsavedChildren(object, unsavedChildren, unsavedFiles);\n\n unsavedFiles = _.uniq(unsavedFiles);\n\n var promise = _promise.default.resolve();\n\n _.each(unsavedFiles, function (file) {\n promise = promise.then(function () {\n return file.save();\n });\n });\n\n var objects = _.uniq(unsavedChildren);\n\n var remaining = _.uniq(objects);\n\n return promise.then(function () {\n return continueWhile(function () {\n return remaining.length > 0;\n }, function () {\n // Gather up all the objects that can be saved in this batch.\n var batch = [];\n var newRemaining = [];\n\n AV._arrayEach(remaining, function (object) {\n if (object._canBeSerialized()) {\n batch.push(object);\n } else {\n newRemaining.push(object);\n }\n });\n\n remaining = newRemaining; // If we can't save any objects, there must be a circular reference.\n\n if (batch.length === 0) {\n return _promise.default.reject(new AVError(AVError.OTHER_CAUSE, 'Tried to save a batch with a cycle.'));\n } // Reserve a spot in every object's save queue.\n\n\n var readyToStart = _promise.default.resolve((0, _map.default)(_).call(_, batch, function (object) {\n return object._allPreviousSaves || _promise.default.resolve();\n })); // Save a single batch, whether previous saves succeeded or failed.\n\n\n var bathSavePromise = readyToStart.then(function () {\n return _request('batch', null, null, 'POST', {\n requests: (0, _map.default)(_).call(_, batch, function (object) {\n var method = object.id ? 'PUT' : 'POST';\n\n var json = object._getSaveJSON();\n\n _.extend(json, object._flags);\n\n var route = 'classes';\n var className = object.className;\n var path = \"/\".concat(route, \"/\").concat(className);\n\n if (object.className === '_User' && !object.id) {\n // Special-case user sign-up.\n path = '/users';\n }\n\n var path = \"/1.1\".concat(path);\n\n if (object.id) {\n path = path + '/' + object.id;\n }\n\n object._startSave();\n\n return {\n method: method,\n path: path,\n body: json,\n params: options && options.fetchWhenSave ? {\n fetchWhenSave: true\n } : undefined\n };\n })\n }, options).then(function (response) {\n var results = (0, _map.default)(_).call(_, batch, function (object, i) {\n if (response[i].success) {\n object._finishSave(object.parse(response[i].success));\n\n return object;\n }\n\n object._cancelSave();\n\n return new AVError(response[i].error.code, response[i].error.error);\n });\n return handleBatchResults(results);\n });\n });\n\n AV._arrayEach(batch, function (object) {\n object._allPreviousSaves = bathSavePromise;\n });\n\n return bathSavePromise;\n });\n }).then(function () {\n return object;\n });\n };\n};\n\n/***/ }),\n/* 505 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayWithHoles = __webpack_require__(506);\n\nvar iterableToArrayLimit = __webpack_require__(514);\n\nvar unsupportedIterableToArray = __webpack_require__(515);\n\nvar nonIterableRest = __webpack_require__(525);\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n/* 506 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _Array$isArray = __webpack_require__(507);\n\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n/* 507 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(508);\n\n/***/ }),\n/* 508 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(509);\n\n\n/***/ }),\n/* 509 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(510);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 510 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(511);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 511 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(512);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 512 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(513);\nvar path = __webpack_require__(15);\n\nmodule.exports = path.Array.isArray;\n\n\n/***/ }),\n/* 513 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(0);\nvar isArray = __webpack_require__(86);\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n\n\n/***/ }),\n/* 514 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _Symbol = __webpack_require__(229);\n\nvar _getIteratorMethod = __webpack_require__(238);\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof _Symbol !== \"undefined\" && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n/* 515 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _sliceInstanceProperty = __webpack_require__(516);\n\nvar _Array$from = __webpack_require__(520);\n\nvar arrayLikeToArray = __webpack_require__(524);\n\nfunction _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n/* 516 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(517);\n\n/***/ }),\n/* 517 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(518);\n\n\n/***/ }),\n/* 518 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(519);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 519 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(227);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 520 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(521);\n\n/***/ }),\n/* 521 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(522);\n\n\n/***/ }),\n/* 522 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(523);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 523 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(237);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 524 */\n/***/ (function(module, exports) {\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n/* 525 */\n/***/ (function(module, exports) {\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n/* 526 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(527);\n\n/***/ }),\n/* 527 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parent = __webpack_require__(528);\n\nmodule.exports = parent;\n\n\n/***/ }),\n/* 528 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(529);\nvar path = __webpack_require__(15);\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n\n\n/***/ }),\n/* 529 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(0);\nvar fails = __webpack_require__(3);\nvar toIndexedObject = __webpack_require__(35);\nvar nativeGetOwnPropertyDescriptor = __webpack_require__(73).f;\nvar DESCRIPTORS = __webpack_require__(20);\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n\n\n/***/ }),\n/* 530 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _ = __webpack_require__(2);\n\nvar AVError = __webpack_require__(43);\n\nmodule.exports = function (AV) {\n AV.Role = AV.Object.extend('_Role',\n /** @lends AV.Role.prototype */\n {\n // Instance Methods\n\n /**\n * Represents a Role on the AV server. Roles represent groupings of\n * Users for the purposes of granting permissions (e.g. specifying an ACL\n * for an Object). Roles are specified by their sets of child users and\n * child roles, all of which are granted any permissions that the parent\n * role has.\n *\n * Roles must have a name (which cannot be changed after creation of the\n * role), and must specify an ACL.
\n * An AV.Role is a local representation of a role persisted to the AV\n * cloud.\n * @class AV.Role\n * @param {String} name The name of the Role to create.\n * @param {AV.ACL} acl The ACL for this role.\n */\n constructor: function constructor(name, acl) {\n if (_.isString(name)) {\n AV.Object.prototype.constructor.call(this, null, null);\n this.setName(name);\n } else {\n AV.Object.prototype.constructor.call(this, name, acl);\n }\n\n if (acl) {\n if (!(acl instanceof AV.ACL)) {\n throw new TypeError('acl must be an instance of AV.ACL');\n } else {\n this.setACL(acl);\n }\n }\n },\n\n /**\n * Gets the name of the role. You can alternatively call role.get(\"name\")\n *\n * @return {String} the name of the role.\n */\n getName: function getName() {\n return this.get('name');\n },\n\n /**\n * Sets the name for a role. This value must be set before the role has\n * been saved to the server, and cannot be set once the role has been\n * saved.\n *\n *\n * A role's name can only contain alphanumeric characters, _, -, and\n * spaces.\n *
\n *\n *This is equivalent to calling role.set(\"name\", name)
\n *\n * @param {String} name The name of the role.\n */\n setName: function setName(name, options) {\n return this.set('name', name, options);\n },\n\n /**\n * Gets the AV.Relation for the AV.Users that are direct\n * children of this role. These users are granted any privileges that this\n * role has been granted (e.g. read or write access through ACLs). You can\n * add or remove users from the role through this relation.\n *\n *This is equivalent to calling role.relation(\"users\")
\n *\n * @return {AV.Relation} the relation for the users belonging to this\n * role.\n */\n getUsers: function getUsers() {\n return this.relation('users');\n },\n\n /**\n * Gets the AV.Relation for the AV.Roles that are direct\n * children of this role. These roles' users are granted any privileges that\n * this role has been granted (e.g. read or write access through ACLs). You\n * can add or remove child roles from this role through this relation.\n *\n *This is equivalent to calling role.relation(\"roles\")
\n *\n * @return {AV.Relation} the relation for the roles belonging to this\n * role.\n */\n getRoles: function getRoles() {\n return this.relation('roles');\n },\n\n /**\n * @ignore\n */\n validate: function validate(attrs, options) {\n if ('name' in attrs && attrs.name !== this.getName()) {\n var newName = attrs.name;\n\n if (this.id && this.id !== attrs.objectId) {\n // Check to see if the objectId being set matches this.id.\n // This happens during a fetch -- the id is set before calling fetch.\n // Let the name be set in this case.\n return new AVError(AVError.OTHER_CAUSE, \"A role's name can only be set before it has been saved.\");\n }\n\n if (!_.isString(newName)) {\n return new AVError(AVError.OTHER_CAUSE, \"A role's name must be a String.\");\n }\n\n if (!/^[0-9a-zA-Z\\-_ ]+$/.test(newName)) {\n return new AVError(AVError.OTHER_CAUSE, \"A role's name can only contain alphanumeric characters, _,\" + ' -, and spaces.');\n }\n }\n\n if (AV.Object.prototype.validate) {\n return AV.Object.prototype.validate.call(this, attrs, options);\n }\n\n return false;\n }\n });\n};\n\n/***/ }),\n/* 531 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(532));\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _map = _interopRequireDefault(__webpack_require__(42));\n\nvar _find = _interopRequireDefault(__webpack_require__(107));\n\nvar _stringify = _interopRequireDefault(__webpack_require__(37));\n\nvar _ = __webpack_require__(2);\n\nvar uuid = __webpack_require__(219);\n\nvar AVError = __webpack_require__(43);\n\nvar _require = __webpack_require__(27),\n AVRequest = _require._request,\n request = _require.request;\n\nvar _require2 = __webpack_require__(70),\n getAdapter = _require2.getAdapter;\n\nvar PLATFORM_ANONYMOUS = 'anonymous';\nvar PLATFORM_QQAPP = 'lc_qqapp';\n\nvar mergeUnionDataIntoAuthData = function mergeUnionDataIntoAuthData() {\n var defaultUnionIdPlatform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'weixin';\n return function (authData, unionId) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$unionIdPlatform = _ref.unionIdPlatform,\n unionIdPlatform = _ref$unionIdPlatform === void 0 ? defaultUnionIdPlatform : _ref$unionIdPlatform,\n _ref$asMainAccount = _ref.asMainAccount,\n asMainAccount = _ref$asMainAccount === void 0 ? false : _ref$asMainAccount;\n\n if (typeof unionId !== 'string') throw new AVError(AVError.OTHER_CAUSE, 'unionId is not a string');\n if (typeof unionIdPlatform !== 'string') throw new AVError(AVError.OTHER_CAUSE, 'unionIdPlatform is not a string');\n return _.extend({}, authData, {\n platform: unionIdPlatform,\n unionid: unionId,\n main_account: Boolean(asMainAccount)\n });\n };\n};\n\nmodule.exports = function (AV) {\n /**\n * @class\n *\n *An AV.User object is a local representation of a user persisted to the\n * LeanCloud server. This class is a subclass of an AV.Object, and retains the\n * same functionality of an AV.Object, but also extends it with various\n * user specific methods, like authentication, signing up, and validation of\n * uniqueness.
\n */\n AV.User = AV.Object.extend('_User',\n /** @lends AV.User.prototype */\n {\n // Instance Variables\n _isCurrentUser: false,\n // Instance Methods\n\n /**\n * Internal method to handle special fields in a _User response.\n * @private\n */\n _mergeMagicFields: function _mergeMagicFields(attrs) {\n if (attrs.sessionToken) {\n this._sessionToken = attrs.sessionToken;\n delete attrs.sessionToken;\n }\n\n return AV.User.__super__._mergeMagicFields.call(this, attrs);\n },\n\n /**\n * Removes null values from authData (which exist temporarily for\n * unlinking)\n * @private\n */\n _cleanupAuthData: function _cleanupAuthData() {\n if (!this.isCurrent()) {\n return;\n }\n\n var authData = this.get('authData');\n\n if (!authData) {\n return;\n }\n\n AV._objectEach(this.get('authData'), function (value, key) {\n if (!authData[key]) {\n delete authData[key];\n }\n });\n },\n\n /**\n * Synchronizes authData for all providers.\n * @private\n */\n _synchronizeAllAuthData: function _synchronizeAllAuthData() {\n var authData = this.get('authData');\n\n if (!authData) {\n return;\n }\n\n var self = this;\n\n AV._objectEach(this.get('authData'), function (value, key) {\n self._synchronizeAuthData(key);\n });\n },\n\n /**\n * Synchronizes auth data for a provider (e.g. puts the access token in the\n * right place to be used by the Facebook SDK).\n * @private\n */\n _synchronizeAuthData: function _synchronizeAuthData(provider) {\n if (!this.isCurrent()) {\n return;\n }\n\n var authType;\n\n if (_.isString(provider)) {\n authType = provider;\n provider = AV.User._authProviders[authType];\n } else {\n authType = provider.getAuthType();\n }\n\n var authData = this.get('authData');\n\n if (!authData || !provider) {\n return;\n }\n\n var success = provider.restoreAuthentication(authData[authType]);\n\n if (!success) {\n this.dissociateAuthData(provider);\n }\n },\n _handleSaveResult: function _handleSaveResult(makeCurrent) {\n // Clean up and synchronize the authData object, removing any unset values\n if (makeCurrent && !AV._config.disableCurrentUser) {\n this._isCurrentUser = true;\n }\n\n this._cleanupAuthData();\n\n this._synchronizeAllAuthData(); // Don't keep the password around.\n\n\n delete this._serverData.password;\n\n this._rebuildEstimatedDataForKey('password');\n\n this._refreshCache();\n\n if ((makeCurrent || this.isCurrent()) && !AV._config.disableCurrentUser) {\n // Some old version of leanengine-node-sdk will overwrite\n // AV.User._saveCurrentUser which returns no Promise.\n // So we need a Promise wrapper.\n return _promise.default.resolve(AV.User._saveCurrentUser(this));\n } else {\n return _promise.default.resolve();\n }\n },\n\n /**\n * Unlike in the Android/iOS SDKs, logInWith is unnecessary, since you can\n * call linkWith on the user (even if it doesn't exist yet on the server).\n * @private\n */\n _linkWith: function _linkWith(provider, data) {\n var _this = this;\n\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref2$failOnNotExist = _ref2.failOnNotExist,\n failOnNotExist = _ref2$failOnNotExist === void 0 ? false : _ref2$failOnNotExist;\n\n var authType;\n\n if (_.isString(provider)) {\n authType = provider;\n provider = AV.User._authProviders[provider];\n } else {\n authType = provider.getAuthType();\n }\n\n if (data) {\n return this.save({\n authData: (0, _defineProperty2.default)({}, authType, data)\n }, {\n fetchWhenSave: !!this.get('authData'),\n _failOnNotExist: failOnNotExist\n }).then(function (model) {\n return model._handleSaveResult(true).then(function () {\n return model;\n });\n });\n } else {\n return provider.authenticate().then(function (result) {\n return _this._linkWith(provider, result);\n });\n }\n },\n\n /**\n * Associate the user with a third party authData.\n * @since 3.3.0\n * @param {Object} authData The response json data returned from third party token, maybe like { openid: 'abc123', access_token: '123abc', expires_in: 1382686496 }\n * @param {string} platform Available platform for sign up.\n * @return {Promisecurrent
.\n *\n * A username and password must be set before calling signUp.
\n *\n * @param {Object} attrs Extra fields to set on the new user, or null.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the signup\n * finishes.\n * @see AV.User.signUp\n */\n signUp: function signUp(attrs, options) {\n var error;\n var username = attrs && attrs.username || this.get('username');\n\n if (!username || username === '') {\n error = new AVError(AVError.OTHER_CAUSE, 'Cannot sign up user with an empty name.');\n throw error;\n }\n\n var password = attrs && attrs.password || this.get('password');\n\n if (!password || password === '') {\n error = new AVError(AVError.OTHER_CAUSE, 'Cannot sign up user with an empty password.');\n throw error;\n }\n\n return this.save(attrs, options).then(function (model) {\n if (model.isAnonymous()) {\n model.unset(\"authData.\".concat(PLATFORM_ANONYMOUS));\n model._opSetQueue = [{}];\n }\n\n return model._handleSaveResult(true).then(function () {\n return model;\n });\n });\n },\n\n /**\n * Signs up a new user with mobile phone and sms code.\n * You should call this instead of save for\n * new AV.Users. This will create a new AV.User on the server, and\n * also persist the session on disk so that you can access the user using\n *current
.\n *\n * A username and password must be set before calling signUp.
\n *\n * @param {Object} attrs Extra fields to set on the new user, or null.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the signup\n * finishes.\n * @see AV.User.signUpOrlogInWithMobilePhone\n * @see AV.Cloud.requestSmsCode\n */\n signUpOrlogInWithMobilePhone: function signUpOrlogInWithMobilePhone(attrs) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var error;\n var mobilePhoneNumber = attrs && attrs.mobilePhoneNumber || this.get('mobilePhoneNumber');\n\n if (!mobilePhoneNumber || mobilePhoneNumber === '') {\n error = new AVError(AVError.OTHER_CAUSE, 'Cannot sign up or login user by mobilePhoneNumber ' + 'with an empty mobilePhoneNumber.');\n throw error;\n }\n\n var smsCode = attrs && attrs.smsCode || this.get('smsCode');\n\n if (!smsCode || smsCode === '') {\n error = new AVError(AVError.OTHER_CAUSE, 'Cannot sign up or login user by mobilePhoneNumber ' + 'with an empty smsCode.');\n throw error;\n }\n\n options._makeRequest = function (route, className, id, method, json) {\n return AVRequest('usersByMobilePhone', null, null, 'POST', json);\n };\n\n return this.save(attrs, options).then(function (model) {\n delete model.attributes.smsCode;\n delete model._serverData.smsCode;\n return model._handleSaveResult(true).then(function () {\n return model;\n });\n });\n },\n\n /**\n * The same with {@link AV.User.loginWithAuthData}, except that you can set attributes before login.\n * @since 3.7.0\n */\n loginWithAuthData: function loginWithAuthData(authData, platform, options) {\n return this._linkWith(platform, authData, options);\n },\n\n /**\n * The same with {@link AV.User.loginWithAuthDataAndUnionId}, except that you can set attributes before login.\n * @since 3.7.0\n */\n loginWithAuthDataAndUnionId: function loginWithAuthDataAndUnionId(authData, platform, unionId, unionLoginOptions) {\n return this.loginWithAuthData(mergeUnionDataIntoAuthData()(authData, unionId, unionLoginOptions), platform, unionLoginOptions);\n },\n\n /**\n * The same with {@link AV.User.loginWithWeapp}, except that you can set attributes before login.\n * @deprecated please use {@link AV.User#loginWithMiniApp}\n * @since 3.7.0\n * @param {Object} [options]\n * @param {boolean} [options.failOnNotExist] If true, the login request will fail when no user matches this authData exists.\n * @param {boolean} [options.preferUnionId] 当用户满足 {@link https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html 获取 UnionId 的条件} 时,是否使用 UnionId 登录。(since 3.13.0)\n * @param {string} [options.unionIdPlatform = 'weixin'] (only take effect when preferUnionId) unionId platform\n * @param {boolean} [options.asMainAccount = true] (only take effect when preferUnionId) If true, the unionId will be associated with the user.\n * @return {Promisecurrent
.\n *\n * A username and password must be set before calling logIn.
\n *\n * @see AV.User.logIn\n * @return {Promise} A promise that is fulfilled with the user when\n * the login is complete.\n */\n logIn: function logIn() {\n var model = this;\n var request = AVRequest('login', null, null, 'POST', this.toJSON());\n return request.then(function (resp) {\n var serverAttrs = model.parse(resp);\n\n model._finishFetch(serverAttrs);\n\n return model._handleSaveResult(true).then(function () {\n if (!serverAttrs.smsCode) delete model.attributes['smsCode'];\n return model;\n });\n });\n },\n\n /**\n * @see AV.Object#save\n */\n save: function save(arg1, arg2, arg3) {\n var attrs, options;\n\n if (_.isObject(arg1) || _.isNull(arg1) || _.isUndefined(arg1)) {\n attrs = arg1;\n options = arg2;\n } else {\n attrs = {};\n attrs[arg1] = arg2;\n options = arg3;\n }\n\n options = options || {};\n return AV.Object.prototype.save.call(this, attrs, options).then(function (model) {\n return model._handleSaveResult(false).then(function () {\n return model;\n });\n });\n },\n\n /**\n * Follow a user\n * @since 0.3.0\n * @param {Object | AV.User | String} options if an AV.User or string is given, it will be used as the target user.\n * @param {AV.User | String} options.user The target user or user's objectId to follow.\n * @param {Object} [options.attributes] key-value attributes dictionary to be used as\n * conditions of followerQuery/followeeQuery.\n * @param {AuthOptions} [authOptions]\n */\n follow: function follow(options, authOptions) {\n if (!this.id) {\n throw new Error('Please signin.');\n }\n\n var user;\n var attributes;\n\n if (options.user) {\n user = options.user;\n attributes = options.attributes;\n } else {\n user = options;\n }\n\n var userObjectId = _.isString(user) ? user : user.id;\n\n if (!userObjectId) {\n throw new Error('Invalid target user.');\n }\n\n var route = 'users/' + this.id + '/friendship/' + userObjectId;\n var request = AVRequest(route, null, null, 'POST', AV._encode(attributes), authOptions);\n return request;\n },\n\n /**\n * Unfollow a user.\n * @since 0.3.0\n * @param {Object | AV.User | String} options if an AV.User or string is given, it will be used as the target user.\n * @param {AV.User | String} options.user The target user or user's objectId to unfollow.\n * @param {AuthOptions} [authOptions]\n */\n unfollow: function unfollow(options, authOptions) {\n if (!this.id) {\n throw new Error('Please signin.');\n }\n\n var user;\n\n if (options.user) {\n user = options.user;\n } else {\n user = options;\n }\n\n var userObjectId = _.isString(user) ? user : user.id;\n\n if (!userObjectId) {\n throw new Error('Invalid target user.');\n }\n\n var route = 'users/' + this.id + '/friendship/' + userObjectId;\n var request = AVRequest(route, null, null, 'DELETE', null, authOptions);\n return request;\n },\n\n /**\n * Get the user's followers and followees.\n * @since 4.8.0\n * @param {Object} [options]\n * @param {Number} [options.skip]\n * @param {Number} [options.limit]\n * @param {AuthOptions} [authOptions]\n */\n getFollowersAndFollowees: function getFollowersAndFollowees(options, authOptions) {\n if (!this.id) {\n throw new Error('Please signin.');\n }\n\n return request({\n method: 'GET',\n path: \"/users/\".concat(this.id, \"/followersAndFollowees\"),\n query: {\n skip: options && options.skip,\n limit: options && options.limit,\n include: 'follower,followee',\n keys: 'follower,followee'\n },\n authOptions: authOptions\n }).then(function (_ref11) {\n var followers = _ref11.followers,\n followees = _ref11.followees;\n return {\n followers: (0, _map.default)(followers).call(followers, function (_ref12) {\n var follower = _ref12.follower;\n return AV._decode(follower);\n }),\n followees: (0, _map.default)(followees).call(followees, function (_ref13) {\n var followee = _ref13.followee;\n return AV._decode(followee);\n })\n };\n });\n },\n\n /**\n *Create a follower query to query the user's followers.\n * @since 0.3.0\n * @see AV.User#followerQuery\n */\n followerQuery: function followerQuery() {\n return AV.User.followerQuery(this.id);\n },\n\n /**\n *Create a followee query to query the user's followees.\n * @since 0.3.0\n * @see AV.User#followeeQuery\n */\n followeeQuery: function followeeQuery() {\n return AV.User.followeeQuery(this.id);\n },\n\n /**\n * @see AV.Object#fetch\n */\n fetch: function fetch(fetchOptions, options) {\n return AV.Object.prototype.fetch.call(this, fetchOptions, options).then(function (model) {\n return model._handleSaveResult(false).then(function () {\n return model;\n });\n });\n },\n\n /**\n * Update user's new password safely based on old password.\n * @param {String} oldPassword the old password.\n * @param {String} newPassword the new password.\n * @param {AuthOptions} options\n */\n updatePassword: function updatePassword(oldPassword, newPassword, options) {\n var _this12 = this;\n\n var route = 'users/' + this.id + '/updatePassword';\n var params = {\n old_password: oldPassword,\n new_password: newPassword\n };\n var request = AVRequest(route, null, null, 'PUT', params, options);\n return request.then(function (resp) {\n _this12._finishFetch(_this12.parse(resp));\n\n return _this12._handleSaveResult(true).then(function () {\n return resp;\n });\n });\n },\n\n /**\n * Returns true ifcurrent
would return this user.\n * @see AV.User#current\n */\n isCurrent: function isCurrent() {\n return this._isCurrentUser;\n },\n\n /**\n * Returns get(\"username\").\n * @return {String}\n * @see AV.Object#get\n */\n getUsername: function getUsername() {\n return this.get('username');\n },\n\n /**\n * Returns get(\"mobilePhoneNumber\").\n * @return {String}\n * @see AV.Object#get\n */\n getMobilePhoneNumber: function getMobilePhoneNumber() {\n return this.get('mobilePhoneNumber');\n },\n\n /**\n * Calls set(\"mobilePhoneNumber\", phoneNumber, options) and returns the result.\n * @param {String} mobilePhoneNumber\n * @return {Boolean}\n * @see AV.Object#set\n */\n setMobilePhoneNumber: function setMobilePhoneNumber(phone, options) {\n return this.set('mobilePhoneNumber', phone, options);\n },\n\n /**\n * Calls set(\"username\", username, options) and returns the result.\n * @param {String} username\n * @return {Boolean}\n * @see AV.Object#set\n */\n setUsername: function setUsername(username, options) {\n return this.set('username', username, options);\n },\n\n /**\n * Calls set(\"password\", password, options) and returns the result.\n * @param {String} password\n * @return {Boolean}\n * @see AV.Object#set\n */\n setPassword: function setPassword(password, options) {\n return this.set('password', password, options);\n },\n\n /**\n * Returns get(\"email\").\n * @return {String}\n * @see AV.Object#get\n */\n getEmail: function getEmail() {\n return this.get('email');\n },\n\n /**\n * Calls set(\"email\", email, options) and returns the result.\n * @param {String} email\n * @param {AuthOptions} options\n * @return {Boolean}\n * @see AV.Object#set\n */\n setEmail: function setEmail(email, options) {\n return this.set('email', email, options);\n },\n\n /**\n * Checks whether this user is the current user and has been authenticated.\n * @deprecated 如果要判断当前用户的登录状态是否有效,请使用 currentUser.isAuthenticated().then(),\n * 如果要判断该用户是否是当前登录用户,请使用 user.id === currentUser.id\n * @return (Boolean) whether this user is the current user and is logged in.\n */\n authenticated: function authenticated() {\n console.warn('DEPRECATED: 如果要判断当前用户的登录状态是否有效,请使用 currentUser.isAuthenticated().then(),如果要判断该用户是否是当前登录用户,请使用 user.id === currentUser.id。');\n return !!this._sessionToken && !AV._config.disableCurrentUser && AV.User.current() && AV.User.current().id === this.id;\n },\n\n /**\n * Detects if current sessionToken is valid.\n *\n * @since 2.0.0\n * @return Promise.current
.\n *\n * @param {String} username The username (or email) to log in with.\n * @param {String} password The password to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#logIn\n */\n logIn: function logIn(username, password) {\n var user = AV.Object._create('_User');\n\n user._finishFetch({\n username: username,\n password: password\n });\n\n return user.logIn();\n },\n\n /**\n * Logs in a user with a session token. On success, this saves the session\n * to disk, so you can retrieve the currently logged in user using\n * current
.\n *\n * @param {String} sessionToken The sessionToken to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n */\n become: function become(sessionToken) {\n return this._fetchUserBySessionToken(sessionToken).then(function (user) {\n return user._handleSaveResult(true).then(function () {\n return user;\n });\n });\n },\n _fetchUserBySessionToken: function _fetchUserBySessionToken(sessionToken) {\n if (sessionToken === undefined) {\n return _promise.default.reject(new Error('The sessionToken cannot be undefined'));\n }\n\n var user = AV.Object._create('_User');\n\n return request({\n method: 'GET',\n path: '/users/me',\n authOptions: {\n sessionToken: sessionToken\n }\n }).then(function (resp) {\n var serverAttrs = user.parse(resp);\n\n user._finishFetch(serverAttrs);\n\n return user;\n });\n },\n\n /**\n * Logs in a user with a mobile phone number and sms code sent by\n * AV.User.requestLoginSmsCode.On success, this\n * saves the session to disk, so you can retrieve the currently logged in\n * user using current
.\n *\n * @param {String} mobilePhone The user's mobilePhoneNumber\n * @param {String} smsCode The sms code sent by AV.User.requestLoginSmsCode\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#logIn\n */\n logInWithMobilePhoneSmsCode: function logInWithMobilePhoneSmsCode(mobilePhone, smsCode) {\n var user = AV.Object._create('_User');\n\n user._finishFetch({\n mobilePhoneNumber: mobilePhone,\n smsCode: smsCode\n });\n\n return user.logIn();\n },\n\n /**\n * Signs up or logs in a user with a mobilePhoneNumber and smsCode.\n * On success, this saves the session to disk, so you can retrieve the currently\n * logged in user using current
.\n *\n * @param {String} mobilePhoneNumber The user's mobilePhoneNumber.\n * @param {String} smsCode The sms code sent by AV.Cloud.requestSmsCode\n * @param {Object} attributes The user's other attributes such as username etc.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#signUpOrlogInWithMobilePhone\n * @see AV.Cloud.requestSmsCode\n */\n signUpOrlogInWithMobilePhone: function signUpOrlogInWithMobilePhone(mobilePhoneNumber, smsCode, attrs, options) {\n attrs = attrs || {};\n attrs.mobilePhoneNumber = mobilePhoneNumber;\n attrs.smsCode = smsCode;\n\n var user = AV.Object._create('_User');\n\n return user.signUpOrlogInWithMobilePhone(attrs, options);\n },\n\n /**\n * Logs in a user with a mobile phone number and password. On success, this\n * saves the session to disk, so you can retrieve the currently logged in\n * user using current
.\n *\n * @param {String} mobilePhone The user's mobilePhoneNumber\n * @param {String} password The password to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#logIn\n */\n logInWithMobilePhone: function logInWithMobilePhone(mobilePhone, password) {\n var user = AV.Object._create('_User');\n\n user._finishFetch({\n mobilePhoneNumber: mobilePhone,\n password: password\n });\n\n return user.logIn();\n },\n\n /**\n * Logs in a user with email and password.\n *\n * @since 3.13.0\n * @param {String} email The user's email.\n * @param {String} password The password to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n */\n loginWithEmail: function loginWithEmail(email, password) {\n var user = AV.Object._create('_User');\n\n user._finishFetch({\n email: email,\n password: password\n });\n\n return user.logIn();\n },\n\n /**\n * Signs up or logs in a user with a third party auth data(AccessToken).\n * On success, this saves the session to disk, so you can retrieve the currently\n * logged in user using current
.\n *\n * @since 3.7.0\n * @param {Object} authData The response json data returned from third party token, maybe like { openid: 'abc123', access_token: '123abc', expires_in: 1382686496 }\n * @param {string} platform Available platform for sign up.\n * @param {Object} [options]\n * @param {boolean} [options.failOnNotExist] If true, the login request will fail when no user matches this authData exists.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @example AV.User.loginWithAuthData({\n * openid: 'abc123',\n * access_token: '123abc',\n * expires_in: 1382686496\n * }, 'weixin').then(function(user) {\n * //Access user here\n * }).catch(function(error) {\n * //console.error(\"error: \", error);\n * });\n * @see {@link https://leancloud.cn/docs/js_guide.html#绑定第三方平台账户}\n */\n loginWithAuthData: function loginWithAuthData(authData, platform, options) {\n return AV.User._logInWith(platform, authData, options);\n },\n\n /**\n * @deprecated renamed to {@link AV.User.loginWithAuthData}\n */\n signUpOrlogInWithAuthData: function signUpOrlogInWithAuthData() {\n console.warn('DEPRECATED: User.signUpOrlogInWithAuthData 已废弃,请使用 User#loginWithAuthData 代替');\n return this.loginWithAuthData.apply(this, arguments);\n },\n\n /**\n * Signs up or logs in a user with a third party authData and unionId.\n * @since 3.7.0\n * @param {Object} authData The response json data returned from third party token, maybe like { openid: 'abc123', access_token: '123abc', expires_in: 1382686496 }\n * @param {string} platform Available platform for sign up.\n * @param {string} unionId\n * @param {Object} [unionLoginOptions]\n * @param {string} [unionLoginOptions.unionIdPlatform = 'weixin'] unionId platform\n * @param {boolean} [unionLoginOptions.asMainAccount = false] If true, the unionId will be associated with the user.\n * @param {boolean} [unionLoginOptions.failOnNotExist] If true, the login request will fail when no user matches this authData exists.\n * @return {Promisecurrent
will return null
.\n * @return {Promise}\n */\n logOut: function logOut() {\n if (AV._config.disableCurrentUser) {\n console.warn('AV.User.current() was disabled in multi-user environment, call logOut() from user object instead https://leancloud.cn/docs/leanengine-node-sdk-upgrade-1.html');\n return _promise.default.resolve(null);\n }\n\n if (AV.User._currentUser !== null) {\n AV.User._currentUser._logOutWithAll();\n\n AV.User._currentUser._isCurrentUser = false;\n }\n\n AV.User._currentUserMatchesDisk = true;\n AV.User._currentUser = null;\n return AV.localStorage.removeItemAsync(AV._getAVPath(AV.User._CURRENT_USER_KEY)).then(function () {\n return AV._refreshSubscriptionId();\n });\n },\n\n /**\n *Create a follower query for special user to query the user's followers.\n * @param {String} userObjectId The user object id.\n * @return {AV.FriendShipQuery}\n * @since 0.3.0\n */\n followerQuery: function followerQuery(userObjectId) {\n if (!userObjectId || !_.isString(userObjectId)) {\n throw new Error('Invalid user object id.');\n }\n\n var query = new AV.FriendShipQuery('_Follower');\n query._friendshipTag = 'follower';\n query.equalTo('user', AV.Object.createWithoutData('_User', userObjectId));\n return query;\n },\n\n /**\n *Create a followee query for special user to query the user's followees.\n * @param {String} userObjectId The user object id.\n * @return {AV.FriendShipQuery}\n * @since 0.3.0\n */\n followeeQuery: function followeeQuery(userObjectId) {\n if (!userObjectId || !_.isString(userObjectId)) {\n throw new Error('Invalid user object id.');\n }\n\n var query = new AV.FriendShipQuery('_Followee');\n query._friendshipTag = 'followee';\n query.equalTo('user', AV.Object.createWithoutData('_User', userObjectId));\n return query;\n },\n\n /**\n * Requests a password reset email to be sent to the specified email address\n * associated with the user account. This email allows the user to securely\n * reset their password on the AV site.\n *\n * @param {String} email The email address associated with the user that\n * forgot their password.\n * @return {Promise}\n */\n requestPasswordReset: function requestPasswordReset(email) {\n var json = {\n email: email\n };\n var request = AVRequest('requestPasswordReset', null, null, 'POST', json);\n return request;\n },\n\n /**\n * Requests a verify email to be sent to the specified email address\n * associated with the user account. This email allows the user to securely\n * verify their email address on the AV site.\n *\n * @param {String} email The email address associated with the user that\n * doesn't verify their email address.\n * @return {Promise}\n */\n requestEmailVerify: function requestEmailVerify(email) {\n var json = {\n email: email\n };\n var request = AVRequest('requestEmailVerify', null, null, 'POST', json);\n return request;\n },\n\n /**\n * Requests a verify sms code to be sent to the specified mobile phone\n * number associated with the user account. This sms code allows the user to\n * verify their mobile phone number by calling AV.User.verifyMobilePhone\n *\n * @param {String} mobilePhoneNumber The mobile phone number associated with the\n * user that doesn't verify their mobile phone number.\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestMobilePhoneVerify: function requestMobilePhoneVerify(mobilePhoneNumber) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = {\n mobilePhoneNumber: mobilePhoneNumber\n };\n\n if (options.validateToken) {\n data.validate_token = options.validateToken;\n }\n\n var request = AVRequest('requestMobilePhoneVerify', null, null, 'POST', data, options);\n return request;\n },\n\n /**\n * Requests a reset password sms code to be sent to the specified mobile phone\n * number associated with the user account. This sms code allows the user to\n * reset their account's password by calling AV.User.resetPasswordBySmsCode\n *\n * @param {String} mobilePhoneNumber The mobile phone number associated with the\n * user that doesn't verify their mobile phone number.\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestPasswordResetBySmsCode: function requestPasswordResetBySmsCode(mobilePhoneNumber) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = {\n mobilePhoneNumber: mobilePhoneNumber\n };\n\n if (options.validateToken) {\n data.validate_token = options.validateToken;\n }\n\n var request = AVRequest('requestPasswordResetBySmsCode', null, null, 'POST', data, options);\n return request;\n },\n\n /**\n * Requests a change mobile phone number sms code to be sent to the mobilePhoneNumber.\n * This sms code allows current user to reset it's mobilePhoneNumber by\n * calling {@link AV.User.changePhoneNumber}\n * @since 4.7.0\n * @param {String} mobilePhoneNumber\n * @param {Number} [ttl] ttl of sms code (default is 6 minutes)\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestChangePhoneNumber: function requestChangePhoneNumber(mobilePhoneNumber, ttl, options) {\n var data = {\n mobilePhoneNumber: mobilePhoneNumber\n };\n\n if (ttl) {\n data.ttl = options.ttl;\n }\n\n if (options && options.validateToken) {\n data.validate_token = options.validateToken;\n }\n\n return AVRequest('requestChangePhoneNumber', null, null, 'POST', data, options);\n },\n\n /**\n * Makes a call to reset user's account mobilePhoneNumber by sms code.\n * The sms code is sent by {@link AV.User.requestChangePhoneNumber}\n * @since 4.7.0\n * @param {String} mobilePhoneNumber\n * @param {String} code The sms code.\n * @return {Promise}\n */\n changePhoneNumber: function changePhoneNumber(mobilePhoneNumber, code) {\n var data = {\n mobilePhoneNumber: mobilePhoneNumber,\n code: code\n };\n return AVRequest('changePhoneNumber', null, null, 'POST', data);\n },\n\n /**\n * Makes a call to reset user's account password by sms code and new password.\n * The sms code is sent by AV.User.requestPasswordResetBySmsCode.\n * @param {String} code The sms code sent by AV.User.Cloud.requestSmsCode\n * @param {String} password The new password.\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n resetPasswordBySmsCode: function resetPasswordBySmsCode(code, password) {\n var json = {\n password: password\n };\n var request = AVRequest('resetPasswordBySmsCode', null, code, 'PUT', json);\n return request;\n },\n\n /**\n * Makes a call to verify sms code that sent by AV.User.Cloud.requestSmsCode\n * If verify successfully,the user mobilePhoneVerified attribute will be true.\n * @param {String} code The sms code sent by AV.User.Cloud.requestSmsCode\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n verifyMobilePhone: function verifyMobilePhone(code) {\n var request = AVRequest('verifyMobilePhone', null, code, 'POST', null);\n return request;\n },\n\n /**\n * Requests a logIn sms code to be sent to the specified mobile phone\n * number associated with the user account. This sms code allows the user to\n * login by AV.User.logInWithMobilePhoneSmsCode function.\n *\n * @param {String} mobilePhoneNumber The mobile phone number associated with the\n * user that want to login by AV.User.logInWithMobilePhoneSmsCode\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestLoginSmsCode: function requestLoginSmsCode(mobilePhoneNumber) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = {\n mobilePhoneNumber: mobilePhoneNumber\n };\n\n if (options.validateToken) {\n data.validate_token = options.validateToken;\n }\n\n var request = AVRequest('requestLoginSmsCode', null, null, 'POST', data, options);\n return request;\n },\n\n /**\n * Retrieves the currently logged in AVUser with a valid session,\n * either from memory or localStorage, if necessary.\n * @return {Promise.AV.Query defines a query that is used to fetch AV.Objects. The\n * most common use case is finding all objects that match a query through the\n * find
method. For example, this sample code fetches all objects\n * of class MyClass
. It calls a different function depending on\n * whether the fetch succeeded or not.\n *\n *
\n * var query = new AV.Query(MyClass);\n * query.find().then(function(results) {\n * // results is an array of AV.Object.\n * }, function(error) {\n * // error is an instance of AVError.\n * });\n *\n *
An AV.Query can also be used to retrieve a single object whose id is\n * known, through the get method. For example, this sample code fetches an\n * object of class MyClass
and id myId
. It calls a\n * different function depending on whether the fetch succeeded or not.\n *\n *
\n * var query = new AV.Query(MyClass);\n * query.get(myId).then(function(object) {\n * // object is an instance of AV.Object.\n * }, function(error) {\n * // error is an instance of AVError.\n * });\n *\n *
An AV.Query can also be used to count the number of objects that match\n * the query without retrieving all of those objects. For example, this\n * sample code counts the number of objects of the class MyClass
\n *
\n * var query = new AV.Query(MyClass);\n * query.count().then(function(number) {\n * // There are number instances of MyClass.\n * }, function(error) {\n * // error is an instance of AVError.\n * });\n */\n AV.Query = function (objectClass) {\n if (_.isString(objectClass)) {\n objectClass = AV.Object._getSubclass(objectClass);\n }\n\n this.objectClass = objectClass;\n this.className = objectClass.prototype.className;\n this._where = {};\n this._include = [];\n this._select = [];\n this._limit = -1; // negative limit means, do not send a limit\n\n this._skip = 0;\n this._defaultParams = {};\n };\n /**\n * Constructs a AV.Query that is the OR of the passed in queries. For\n * example:\n *
var compoundQuery = AV.Query.or(query1, query2, query3);\n *\n * will create a compoundQuery that is an or of the query1, query2, and\n * query3.\n * @param {...AV.Query} var_args The list of queries to OR.\n * @return {AV.Query} The query that is the OR of the passed in queries.\n */\n\n\n AV.Query.or = function () {\n var queries = _.toArray(arguments);\n\n var className = null;\n\n AV._arrayEach(queries, function (q) {\n if (_.isNull(className)) {\n className = q.className;\n }\n\n if (className !== q.className) {\n throw new Error('All queries must be for the same class');\n }\n });\n\n var query = new AV.Query(className);\n\n query._orQuery(queries);\n\n return query;\n };\n /**\n * Constructs a AV.Query that is the AND of the passed in queries. For\n * example:\n *
var compoundQuery = AV.Query.and(query1, query2, query3);\n *\n * will create a compoundQuery that is an 'and' of the query1, query2, and\n * query3.\n * @param {...AV.Query} var_args The list of queries to AND.\n * @return {AV.Query} The query that is the AND of the passed in queries.\n */\n\n\n AV.Query.and = function () {\n var queries = _.toArray(arguments);\n\n var className = null;\n\n AV._arrayEach(queries, function (q) {\n if (_.isNull(className)) {\n className = q.className;\n }\n\n if (className !== q.className) {\n throw new Error('All queries must be for the same class');\n }\n });\n\n var query = new AV.Query(className);\n\n query._andQuery(queries);\n\n return query;\n };\n /**\n * Retrieves a list of AVObjects that satisfy the CQL.\n * CQL syntax please see {@link https://leancloud.cn/docs/cql_guide.html CQL Guide}.\n *\n * @param {String} cql A CQL string, see {@link https://leancloud.cn/docs/cql_guide.html CQL Guide}.\n * @param {Array} pvalues An array contains placeholder values.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is resolved with the results when\n * the query completes.\n */\n\n\n AV.Query.doCloudQuery = function (cql, pvalues, options) {\n var params = {\n cql: cql\n };\n\n if (_.isArray(pvalues)) {\n params.pvalues = pvalues;\n } else {\n options = pvalues;\n }\n\n var request = _request('cloudQuery', null, null, 'GET', params, options);\n\n return request.then(function (response) {\n //query to process results.\n var query = new AV.Query(response.className);\n var results = (0, _map.default)(_).call(_, response.results, function (json) {\n var obj = query._newObject(response);\n\n if (obj._finishFetch) {\n obj._finishFetch(query._processResult(json), true);\n }\n\n return obj;\n });\n return {\n results: results,\n count: response.count,\n className: response.className\n };\n });\n };\n /**\n * Return a query with conditions from json.\n * This can be useful to send a query from server side to client side.\n * @since 4.0.0\n * @param {Object} json from {@link AV.Query#toJSON}\n * @return {AV.Query}\n */\n\n\n AV.Query.fromJSON = function (_ref) {\n var className = _ref.className,\n where = _ref.where,\n include = _ref.include,\n select = _ref.select,\n includeACL = _ref.includeACL,\n limit = _ref.limit,\n skip = _ref.skip,\n order = _ref.order;\n\n if (typeof className !== 'string') {\n throw new TypeError('Invalid Query JSON, className must be a String.');\n }\n\n var query = new AV.Query(className);\n\n _.extend(query, {\n _where: where,\n _include: include,\n _select: select,\n _includeACL: includeACL,\n _limit: limit,\n _skip: skip,\n _order: order\n });\n\n return query;\n };\n\n AV.Query._extend = AV._extend;\n\n _.extend(AV.Query.prototype,\n /** @lends AV.Query.prototype */\n {\n //hook to iterate result. Added by dennis
\n * Some functions are only available from Cloud Code.\n *
\n *\n * @namespace\n * @borrows AV.Captcha.request as requestCaptcha\n */\n AV.Cloud = AV.Cloud || {};\n\n _.extend(AV.Cloud,\n /** @lends AV.Cloud */\n {\n /**\n * Makes a call to a cloud function.\n * @param {String} name The function name.\n * @param {Object} [data] The parameters to send to the cloud function.\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n run: function run(name, data, options) {\n return request({\n service: 'engine',\n method: 'POST',\n path: \"/functions/\".concat(name),\n data: AV._encode(data, null, true),\n authOptions: options\n }).then(function (resp) {\n return AV._decode(resp).result;\n });\n },\n\n /**\n * Makes a call to a cloud function, you can send {AV.Object} as param or a field of param; the response\n * from server will also be parsed as an {AV.Object}, array of {AV.Object}, or object includes {AV.Object}\n * @param {String} name The function name.\n * @param {Object} [data] The parameters to send to the cloud function.\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result of the function.\n */\n rpc: function rpc(name, data, options) {\n if (_.isArray(data)) {\n return _promise.default.reject(new Error(\"Can't pass Array as the param of rpc function in JavaScript SDK.\"));\n }\n\n return request({\n service: 'engine',\n method: 'POST',\n path: \"/call/\".concat(name),\n data: AV._encodeObjectOrArray(data),\n authOptions: options\n }).then(function (resp) {\n return AV._decode(resp).result;\n });\n },\n\n /**\n * Make a call to request server date time.\n * @return {Promise.Send a status from current signined user to other user's private status inbox.
\n * @since 0.3.0\n * @param {AV.Status} status A status object to be send to followers.\n * @param {String} target The target user or user's objectId.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the send\n * completes.\n * @example\n * // send a private status to user '52e84e47e4b0f8de283b079b'\n * var status = new AVStatus('image url', 'a message');\n * AV.Status.sendPrivateStatus(status, '52e84e47e4b0f8de283b079b').then(function(){\n * //send status successfully.\n * }, function(err){\n * //an error threw.\n * console.dir(err);\n * });\n */\n\n\n AV.Status.sendPrivateStatus = function (status, target) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!getSessionToken(options) && !AV.User.current()) {\n throw new Error('Please signin an user.');\n }\n\n if (!target) {\n throw new Error('Invalid target user.');\n }\n\n var userObjectId = _.isString(target) ? target : target.id;\n\n if (!userObjectId) {\n throw new Error('Invalid target user.');\n }\n\n return getUserPointer(options).then(function (currUser) {\n var query = {};\n query.className = '_User';\n query.where = {\n objectId: userObjectId\n };\n var data = {};\n data.query = query;\n status.data = status.data || {};\n status.data.source = status.data.source || currUser;\n data.data = status._getDataJSON();\n data.inboxType = 'private';\n status.inboxType = 'private';\n var request = AVRequest('statuses', null, null, 'POST', data, options);\n return request.then(function (response) {\n status.id = response.objectId;\n status.createdAt = AV._parseDate(response.createdAt);\n return status;\n });\n });\n };\n /**\n * Count unread statuses in someone's inbox.\n * @since 0.3.0\n * @param {AV.User} owner The status owner.\n * @param {String} inboxType The inbox type, 'default' by default.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the count\n * completes.\n * @example\n * AV.Status.countUnreadStatuses(AV.User.current()).then(function(response){\n * console.log(response.unread); //unread statuses number.\n * console.log(response.total); //total statuses number.\n * });\n */\n\n\n AV.Status.countUnreadStatuses = function (owner) {\n var inboxType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!_.isString(inboxType)) options = inboxType;\n\n if (!getSessionToken(options) && owner == null && !AV.User.current()) {\n throw new Error('Please signin an user or pass the owner objectId.');\n }\n\n return _promise.default.resolve(owner || getUser(options)).then(function (owner) {\n var params = {};\n params.inboxType = AV._encode(inboxType);\n params.owner = AV._encode(owner);\n return AVRequest('subscribe/statuses/count', null, null, 'GET', params, options);\n });\n };\n /**\n * reset unread statuses count in someone's inbox.\n * @since 2.1.0\n * @param {AV.User} owner The status owner.\n * @param {String} inboxType The inbox type, 'default' by default.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the reset\n * completes.\n * @example\n * AV.Status.resetUnreadCount(AV.User.current()).then(function(response){\n * console.log(response.unread); //unread statuses number.\n * console.log(response.total); //total statuses number.\n * });\n */\n\n\n AV.Status.resetUnreadCount = function (owner) {\n var inboxType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!_.isString(inboxType)) options = inboxType;\n\n if (!getSessionToken(options) && owner == null && !AV.User.current()) {\n throw new Error('Please signin an user or pass the owner objectId.');\n }\n\n return _promise.default.resolve(owner || getUser(options)).then(function (owner) {\n var params = {};\n params.inboxType = AV._encode(inboxType);\n params.owner = AV._encode(owner);\n return AVRequest('subscribe/statuses/resetUnreadCount', null, null, 'POST', params, options);\n });\n };\n /**\n * Create a status query to find someone's published statuses.\n * @since 0.3.0\n * @param {AV.User} source The status source, typically the publisher.\n * @return {AV.Query} The query object for status.\n * @example\n * //Find current user's published statuses.\n * var query = AV.Status.statusQuery(AV.User.current());\n * query.find().then(function(statuses){\n * //process statuses\n * });\n */\n\n\n AV.Status.statusQuery = function (source) {\n var query = new AV.Query('_Status');\n\n if (source) {\n query.equalTo('source', source);\n }\n\n return query;\n };\n /**\n *AV.InboxQuery defines a query that is used to fetch somebody's inbox statuses.
\n * @class\n */\n\n\n AV.InboxQuery = AV.Query._extend(\n /** @lends AV.InboxQuery.prototype */\n {\n _objectClass: AV.Status,\n _sinceId: 0,\n _maxId: 0,\n _inboxType: 'default',\n _owner: null,\n _newObject: function _newObject() {\n return new AV.Status();\n },\n _createRequest: function _createRequest(params, options) {\n return AV.InboxQuery.__super__._createRequest.call(this, params, options, '/subscribe/statuses');\n },\n\n /**\n * Sets the messageId of results to skip before returning any results.\n * This is useful for pagination.\n * Default is zero.\n * @param {Number} n the mesage id.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n sinceId: function sinceId(id) {\n this._sinceId = id;\n return this;\n },\n\n /**\n * Sets the maximal messageId of results。\n * This is useful for pagination.\n * Default is zero that is no limition.\n * @param {Number} n the mesage id.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n maxId: function maxId(id) {\n this._maxId = id;\n return this;\n },\n\n /**\n * Sets the owner of the querying inbox.\n * @param {AV.User} owner The inbox owner.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n owner: function owner(_owner) {\n this._owner = _owner;\n return this;\n },\n\n /**\n * Sets the querying inbox type.default is 'default'.\n * @param {String} type The inbox type.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n inboxType: function inboxType(type) {\n this._inboxType = type;\n return this;\n },\n _getParams: function _getParams() {\n var params = AV.InboxQuery.__super__._getParams.call(this);\n\n params.owner = AV._encode(this._owner);\n params.inboxType = AV._encode(this._inboxType);\n params.sinceId = AV._encode(this._sinceId);\n params.maxId = AV._encode(this._maxId);\n return params;\n }\n });\n /**\n * Create a inbox status query to find someone's inbox statuses.\n * @since 0.3.0\n * @param {AV.User} owner The inbox's owner\n * @param {String} inboxType The inbox type,'default' by default.\n * @return {AV.InboxQuery} The inbox query object.\n * @see AV.InboxQuery\n * @example\n * //Find current user's default inbox statuses.\n * var query = AV.Status.inboxQuery(AV.User.current());\n * //find the statuses after the last message id\n * query.sinceId(lastMessageId);\n * query.find().then(function(statuses){\n * //process statuses\n * });\n */\n\n AV.Status.inboxQuery = function (owner, inboxType) {\n var query = new AV.InboxQuery(AV.Status);\n\n if (owner) {\n query._owner = owner;\n }\n\n if (inboxType) {\n query._inboxType = inboxType;\n }\n\n return query;\n };\n};\n\n/***/ }),\n/* 539 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _stringify = _interopRequireDefault(__webpack_require__(37));\n\nvar _map = _interopRequireDefault(__webpack_require__(42));\n\nvar _ = __webpack_require__(2);\n\nvar AVRequest = __webpack_require__(27)._request;\n\nmodule.exports = function (AV) {\n /**\n * A builder to generate sort string for app searching.For example:\n * @class\n * @since 0.5.1\n * @example\n * var builder = new AV.SearchSortBuilder();\n * builder.ascending('key1').descending('key2','max');\n * var query = new AV.SearchQuery('Player');\n * query.sortBy(builder);\n * query.find().then();\n */\n AV.SearchSortBuilder = function () {\n this._sortFields = [];\n };\n\n _.extend(AV.SearchSortBuilder.prototype,\n /** @lends AV.SearchSortBuilder.prototype */\n {\n _addField: function _addField(key, order, mode, missing) {\n var field = {};\n field[key] = {\n order: order || 'asc',\n mode: mode || 'avg',\n missing: '_' + (missing || 'last')\n };\n\n this._sortFields.push(field);\n\n return this;\n },\n\n /**\n * Sorts the results in ascending order by the given key and options.\n *\n * @param {String} key The key to order by.\n * @param {String} mode The sort mode, default is 'avg', you can choose\n * 'max' or 'min' too.\n * @param {String} missing The missing key behaviour, default is 'last',\n * you can choose 'first' too.\n * @return {AV.SearchSortBuilder} Returns the builder, so you can chain this call.\n */\n ascending: function ascending(key, mode, missing) {\n return this._addField(key, 'asc', mode, missing);\n },\n\n /**\n * Sorts the results in descending order by the given key and options.\n *\n * @param {String} key The key to order by.\n * @param {String} mode The sort mode, default is 'avg', you can choose\n * 'max' or 'min' too.\n * @param {String} missing The missing key behaviour, default is 'last',\n * you can choose 'first' too.\n * @return {AV.SearchSortBuilder} Returns the builder, so you can chain this call.\n */\n descending: function descending(key, mode, missing) {\n return this._addField(key, 'desc', mode, missing);\n },\n\n /**\n * Add a proximity based constraint for finding objects with key point\n * values near the point given.\n * @param {String} key The key that the AV.GeoPoint is stored in.\n * @param {AV.GeoPoint} point The reference AV.GeoPoint that is used.\n * @param {Object} options The other options such as mode,order, unit etc.\n * @return {AV.SearchSortBuilder} Returns the builder, so you can chain this call.\n */\n whereNear: function whereNear(key, point, options) {\n options = options || {};\n var field = {};\n var geo = {\n lat: point.latitude,\n lon: point.longitude\n };\n var m = {\n order: options.order || 'asc',\n mode: options.mode || 'avg',\n unit: options.unit || 'km'\n };\n m[key] = geo;\n field['_geo_distance'] = m;\n\n this._sortFields.push(field);\n\n return this;\n },\n\n /**\n * Build a sort string by configuration.\n * @return {String} the sort string.\n */\n build: function build() {\n return (0, _stringify.default)(AV._encode(this._sortFields));\n }\n });\n /**\n * App searching query.Use just like AV.Query:\n *\n * Visit App Searching Guide\n * for more details.\n * @class\n * @since 0.5.1\n * @example\n * var query = new AV.SearchQuery('Player');\n * query.queryString('*');\n * query.find().then(function(results) {\n * console.log('Found %d objects', query.hits());\n * //Process results\n * });\n */\n\n\n AV.SearchQuery = AV.Query._extend(\n /** @lends AV.SearchQuery.prototype */\n {\n _sid: null,\n _hits: 0,\n _queryString: null,\n _highlights: null,\n _sortBuilder: null,\n _clazz: null,\n constructor: function constructor(className) {\n if (className) {\n this._clazz = className;\n } else {\n className = '__INVALID_CLASS';\n }\n\n AV.Query.call(this, className);\n },\n _createRequest: function _createRequest(params, options) {\n return AVRequest('search/select', null, null, 'GET', params || this._getParams(), options);\n },\n\n /**\n * Sets the sid of app searching query.Default is null.\n * @param {String} sid Scroll id for searching.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n sid: function sid(_sid) {\n this._sid = _sid;\n return this;\n },\n\n /**\n * Sets the query string of app searching.\n * @param {String} q The query string.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n queryString: function queryString(q) {\n this._queryString = q;\n return this;\n },\n\n /**\n * Sets the highlight fields. Such as\n *\n * query.highlights('title');\n * //or pass an array.\n * query.highlights(['title', 'content'])\n *
\n * @param {String|String[]} highlights a list of fields.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n highlights: function highlights(_highlights) {\n var objects;\n\n if (_highlights && _.isString(_highlights)) {\n objects = _.toArray(arguments);\n } else {\n objects = _highlights;\n }\n\n this._highlights = objects;\n return this;\n },\n\n /**\n * Sets the sort builder for this query.\n * @see AV.SearchSortBuilder\n * @param { AV.SearchSortBuilder} builder The sort builder.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n *\n */\n sortBy: function sortBy(builder) {\n this._sortBuilder = builder;\n return this;\n },\n\n /**\n * Returns the number of objects that match this query.\n * @return {Number}\n */\n hits: function hits() {\n if (!this._hits) {\n this._hits = 0;\n }\n\n return this._hits;\n },\n _processResult: function _processResult(json) {\n delete json['className'];\n delete json['_app_url'];\n delete json['_deeplink'];\n return json;\n },\n\n /**\n * Returns true when there are more documents can be retrieved by this\n * query instance, you can call find function to get more results.\n * @see AV.SearchQuery#find\n * @return {Boolean}\n */\n hasMore: function hasMore() {\n return !this._hitEnd;\n },\n\n /**\n * Reset current query instance state(such as sid, hits etc) except params\n * for a new searching. After resetting, hasMore() will return true.\n */\n reset: function reset() {\n this._hitEnd = false;\n this._sid = null;\n this._hits = 0;\n },\n\n /**\n * Retrieves a list of AVObjects that satisfy this query.\n * Either options.success or options.error is called when the find\n * completes.\n *\n * @see AV.Query#find\n * @param {AuthOptions} options\n * @return {Promise} A promise that is resolved with the results when\n * the query completes.\n */\n find: function find(options) {\n var self = this;\n\n var request = this._createRequest(undefined, options);\n\n return request.then(function (response) {\n //update sid for next querying.\n if (response.sid) {\n self._oldSid = self._sid;\n self._sid = response.sid;\n } else {\n self._sid = null;\n self._hitEnd = true;\n }\n\n self._hits = response.hits || 0;\n return (0, _map.default)(_).call(_, response.results, function (json) {\n if (json.className) {\n response.className = json.className;\n }\n\n var obj = self._newObject(response);\n\n obj.appURL = json['_app_url'];\n\n obj._finishFetch(self._processResult(json), true);\n\n return obj;\n });\n });\n },\n _getParams: function _getParams() {\n var params = AV.SearchQuery.__super__._getParams.call(this);\n\n delete params.where;\n\n if (this._clazz) {\n params.clazz = this.className;\n }\n\n if (this._sid) {\n params.sid = this._sid;\n }\n\n if (!this._queryString) {\n throw new Error('Please set query string.');\n } else {\n params.q = this._queryString;\n }\n\n if (this._highlights) {\n params.highlights = this._highlights.join(',');\n }\n\n if (this._sortBuilder && params.order) {\n throw new Error('sort and order can not be set at same time.');\n }\n\n if (this._sortBuilder) {\n params.sort = this._sortBuilder.build();\n }\n\n return params;\n }\n });\n};\n/**\n * Sorts the results in ascending order by the given key.\n *\n * @method AV.SearchQuery#ascending\n * @param {String} key The key to order by.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n\n/**\n * Also sorts the results in ascending order by the given key. The previous sort keys have\n * precedence over this key.\n *\n * @method AV.SearchQuery#addAscending\n * @param {String} key The key to order by\n * @return {AV.SearchQuery} Returns the query so you can chain this call.\n */\n\n/**\n * Sorts the results in descending order by the given key.\n *\n * @method AV.SearchQuery#descending\n * @param {String} key The key to order by.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n\n/**\n * Also sorts the results in descending order by the given key. The previous sort keys have\n * precedence over this key.\n *\n * @method AV.SearchQuery#addDescending\n * @param {String} key The key to order by\n * @return {AV.SearchQuery} Returns the query so you can chain this call.\n */\n\n/**\n * Include nested AV.Objects for the provided key. You can use dot\n * notation to specify which fields in the included object are also fetch.\n * @method AV.SearchQuery#include\n * @param {String[]} keys The name of the key to include.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n\n/**\n * Sets the number of results to skip before returning any results.\n * This is useful for pagination.\n * Default is to skip zero results.\n * @method AV.SearchQuery#skip\n * @param {Number} n the number of results to skip.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n\n/**\n * Sets the limit of the number of results to return. The default limit is\n * 100, with a maximum of 1000 results being returned at a time.\n * @method AV.SearchQuery#limit\n * @param {Number} n the number of results to limit to.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n\n/***/ }),\n/* 540 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _ = __webpack_require__(2);\n\nvar AVError = __webpack_require__(43);\n\nvar _require = __webpack_require__(27),\n request = _require.request;\n\nmodule.exports = function (AV) {\n /**\n * 包含了使用了 LeanCloud\n * 离线数据分析功能的函数。\n * \n * 仅在云引擎运行环境下有效。\n *
\n * @namespace\n */\n AV.Insight = AV.Insight || {};\n\n _.extend(AV.Insight,\n /** @lends AV.Insight */\n {\n /**\n * 开始一个 Insight 任务。结果里将返回 Job id,你可以拿得到的 id 使用\n * AV.Insight.JobQuery 查询任务状态和结果。\n * @param {Object} jobConfig 任务配置的 JSON 对象,例如:\n * { \"sql\" : \"select count(*) as c,gender from _User group by gender\",\n * \"saveAs\": {\n * \"className\" : \"UserGender\",\n * \"limit\": 1\n * }\n * }\n *
\n * sql 指定任务执行的 SQL 语句, saveAs(可选) 指定将结果保存在哪张表里,limit 最大 1000。\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n startJob: function startJob(jobConfig, options) {\n if (!jobConfig || !jobConfig.sql) {\n throw new Error('Please provide the sql to run the job.');\n }\n\n var data = {\n jobConfig: jobConfig,\n appId: AV.applicationId\n };\n return request({\n path: '/bigquery/jobs',\n method: 'POST',\n data: AV._encode(data, null, true),\n authOptions: options,\n signKey: false\n }).then(function (resp) {\n return AV._decode(resp).id;\n });\n },\n\n /**\n * 监听 Insight 任务事件(未来推出独立部署的离线分析服务后开放)\n * \n * 仅在云引擎运行环境下有效。\n *
\n * @param {String} event 监听的事件,目前尚不支持。\n * @param {Function} 监听回调函数,接收 (err, id) 两个参数,err 表示错误信息,\n * id 表示任务 id。接下来你可以拿这个 id 使用AV.Insight.JobQuery 查询任务状态和结果。\n *\n */\n on: function on(event, cb) {}\n });\n /**\n * 创建一个对象,用于查询 Insight 任务状态和结果。\n * @class\n * @param {String} id 任务 id\n * @since 0.5.5\n */\n\n\n AV.Insight.JobQuery = function (id, className) {\n if (!id) {\n throw new Error('Please provide the job id.');\n }\n\n this.id = id;\n this.className = className;\n this._skip = 0;\n this._limit = 100;\n };\n\n _.extend(AV.Insight.JobQuery.prototype,\n /** @lends AV.Insight.JobQuery.prototype */\n {\n /**\n * Sets the number of results to skip before returning any results.\n * This is useful for pagination.\n * Default is to skip zero results.\n * @param {Number} n the number of results to skip.\n * @return {AV.Query} Returns the query, so you can chain this call.\n */\n skip: function skip(n) {\n this._skip = n;\n return this;\n },\n\n /**\n * Sets the limit of the number of results to return. The default limit is\n * 100, with a maximum of 1000 results being returned at a time.\n * @param {Number} n the number of results to limit to.\n * @return {AV.Query} Returns the query, so you can chain this call.\n */\n limit: function limit(n) {\n this._limit = n;\n return this;\n },\n\n /**\n * 查询任务状态和结果,任务结果为一个 JSON 对象,包括 status 表示任务状态, totalCount 表示总数,\n * results 数组表示任务结果数组,previewCount 表示可以返回的结果总数,任务的开始和截止时间\n * startTime、endTime 等信息。\n *\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n *\n */\n find: function find(options) {\n var params = {\n skip: this._skip,\n limit: this._limit\n };\n return request({\n path: \"/bigquery/jobs/\".concat(this.id),\n method: 'GET',\n query: params,\n authOptions: options,\n signKey: false\n }).then(function (response) {\n if (response.error) {\n return _promise.default.reject(new AVError(response.code, response.error));\n }\n\n return _promise.default.resolve(response);\n });\n }\n });\n};\n\n/***/ }),\n/* 541 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _ = __webpack_require__(2);\n\nvar _require = __webpack_require__(27),\n LCRequest = _require.request;\n\nvar _require2 = __webpack_require__(31),\n getSessionToken = _require2.getSessionToken;\n\nmodule.exports = function (AV) {\n var getUserWithSessionToken = function getUserWithSessionToken(authOptions) {\n if (authOptions.user) {\n if (!authOptions.user._sessionToken) {\n throw new Error('authOptions.user is not signed in.');\n }\n\n return _promise.default.resolve(authOptions.user);\n }\n\n if (authOptions.sessionToken) {\n return AV.User._fetchUserBySessionToken(authOptions.sessionToken);\n }\n\n return AV.User.currentAsync();\n };\n\n var getSessionTokenAsync = function getSessionTokenAsync(authOptions) {\n var sessionToken = getSessionToken(authOptions);\n\n if (sessionToken) {\n return _promise.default.resolve(sessionToken);\n }\n\n return AV.User.currentAsync().then(function (user) {\n if (user) {\n return user.getSessionToken();\n }\n });\n };\n /**\n * Contains functions to deal with Friendship in LeanCloud.\n * @class\n */\n\n\n AV.Friendship = {\n /**\n * Request friendship.\n * @since 4.8.0\n * @param {String | AV.User | Object} options if an AV.User or string is given, it will be used as the friend.\n * @param {AV.User | string} options.friend The friend (or friend's objectId) to follow.\n * @param {Object} [options.attributes] key-value attributes dictionary to be used as conditions of followeeQuery.\n * @param {AuthOptions} [authOptions]\n * @return {PromiseAn AV.Conversation is a local representation of a LeanCloud realtime's\n * conversation. This class is a subclass of AV.Object, and retains the\n * same functionality of an AV.Object, but also extends it with various\n * conversation specific methods, like get members, creators of this conversation.\n *
\n *\n * @class AV.Conversation\n * @param {String} name The name of the Role to create.\n * @param {Object} [options]\n * @param {Boolean} [options.isSystem] Set this conversation as system conversation.\n * @param {Boolean} [options.isTransient] Set this conversation as transient conversation.\n */\n\n\nmodule.exports = AV.Object.extend('_Conversation',\n/** @lends AV.Conversation.prototype */\n{\n constructor: function constructor(name) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n AV.Object.prototype.constructor.call(this, null, null);\n this.set('name', name);\n\n if (options.isSystem !== undefined) {\n this.set('sys', options.isSystem ? true : false);\n }\n\n if (options.isTransient !== undefined) {\n this.set('tr', options.isTransient ? true : false);\n }\n },\n\n /**\n * Get current conversation's creator.\n *\n * @return {String}\n */\n getCreator: function getCreator() {\n return this.get('c');\n },\n\n /**\n * Get the last message's time.\n *\n * @return {Date}\n */\n getLastMessageAt: function getLastMessageAt() {\n return this.get('lm');\n },\n\n /**\n * Get this conversation's members\n *\n * @return {String[]}\n */\n getMembers: function getMembers() {\n return this.get('m');\n },\n\n /**\n * Add a member to this conversation\n *\n * @param {String} member\n */\n addMember: function addMember(member) {\n return this.add('m', member);\n },\n\n /**\n * Get this conversation's members who set this conversation as muted.\n *\n * @return {String[]}\n */\n getMutedMembers: function getMutedMembers() {\n return this.get('mu');\n },\n\n /**\n * Get this conversation's name field.\n *\n * @return String\n */\n getName: function getName() {\n return this.get('name');\n },\n\n /**\n * Returns true if this conversation is transient conversation.\n *\n * @return {Boolean}\n */\n isTransient: function isTransient() {\n return this.get('tr');\n },\n\n /**\n * Returns true if this conversation is system conversation.\n *\n * @return {Boolean}\n */\n isSystem: function isSystem() {\n return this.get('sys');\n },\n\n /**\n * Send realtime message to this conversation, using HTTP request.\n *\n * @param {String} fromClient Sender's client id.\n * @param {String|Object} message The message which will send to conversation.\n * It could be a raw string, or an object with a `toJSON` method, like a\n * realtime SDK's Message object. See more: {@link https://leancloud.cn/docs/realtime_guide-js.html#消息}\n * @param {Object} [options]\n * @param {Boolean} [options.transient] Whether send this message as transient message or not.\n * @param {String[]} [options.toClients] Ids of clients to send to. This option can be used only in system conversation.\n * @param {Object} [options.pushData] Push data to this message. See more: {@link https://url.leanapp.cn/pushData 推送消息内容}\n * @param {AuthOptions} [authOptions]\n * @return {Promise}\n */\n send: function send(fromClient, message) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var authOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var data = {\n from_peer: fromClient,\n conv_id: this.id,\n transient: false,\n message: serializeMessage(message)\n };\n\n if (options.toClients !== undefined) {\n data.to_peers = options.toClients;\n }\n\n if (options.transient !== undefined) {\n data.transient = options.transient ? true : false;\n }\n\n if (options.pushData !== undefined) {\n data.push_data = options.pushData;\n }\n\n return _request('rtm', 'messages', null, 'POST', data, authOptions);\n },\n\n /**\n * Send realtime broadcast message to all clients, via this conversation, using HTTP request.\n *\n * @param {String} fromClient Sender's client id.\n * @param {String|Object} message The message which will send to conversation.\n * It could be a raw string, or an object with a `toJSON` method, like a\n * realtime SDK's Message object. See more: {@link https://leancloud.cn/docs/realtime_guide-js.html#消息}.\n * @param {Object} [options]\n * @param {Object} [options.pushData] Push data to this message. See more: {@link https://url.leanapp.cn/pushData 推送消息内容}.\n * @param {Object} [options.validTill] The message will valid till this time.\n * @param {AuthOptions} [authOptions]\n * @return {Promise}\n */\n broadcast: function broadcast(fromClient, message) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var authOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var data = {\n from_peer: fromClient,\n conv_id: this.id,\n message: serializeMessage(message)\n };\n\n if (options.pushData !== undefined) {\n data.push = options.pushData;\n }\n\n if (options.validTill !== undefined) {\n var ts = options.validTill;\n\n if (_.isDate(ts)) {\n ts = ts.getTime();\n }\n\n options.valid_till = ts;\n }\n\n return _request('rtm', 'broadcast', null, 'POST', data, authOptions);\n }\n});\n\n/***/ }),\n/* 543 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(1);\n\nvar _promise = _interopRequireDefault(__webpack_require__(10));\n\nvar _map = _interopRequireDefault(__webpack_require__(42));\n\nvar _concat = _interopRequireDefault(__webpack_require__(25));\n\nvar _ = __webpack_require__(2);\n\nvar _require = __webpack_require__(27),\n request = _require.request;\n\nvar _require2 = __webpack_require__(31),\n ensureArray = _require2.ensureArray,\n parseDate = _require2.parseDate;\n\nvar AV = __webpack_require__(67);\n/**\n * The version change interval for Leaderboard\n * @enum\n */\n\n\nAV.LeaderboardVersionChangeInterval = {\n NEVER: 'never',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month'\n};\n/**\n * The order of the leaderboard results\n * @enum\n */\n\nAV.LeaderboardOrder = {\n ASCENDING: 'ascending',\n DESCENDING: 'descending'\n};\n/**\n * The update strategy for Leaderboard\n * @enum\n */\n\nAV.LeaderboardUpdateStrategy = {\n /** Only keep the best statistic. If the leaderboard is in descending order, the best statistic is the highest one. */\n BETTER: 'better',\n\n /** Keep the last updated statistic */\n LAST: 'last',\n\n /** Keep the sum of all updated statistics */\n SUM: 'sum'\n};\n/**\n * @typedef {Object} Ranking\n * @property {number} rank Starts at 0\n * @property {number} value the statistic value of this ranking\n * @property {AV.User} user The user of this ranking\n * @property {Statistic[]} [includedStatistics] Other statistics of the user, specified by the `includeStatistic` option of `AV.Leaderboard.getResults()`\n */\n\n/**\n * @typedef {Object} LeaderboardArchive\n * @property {string} statisticName\n * @property {number} version version of the leaderboard\n * @property {string} status\n * @property {string} url URL for the downloadable archive\n * @property {Date} activatedAt time when this version became active\n * @property {Date} deactivatedAt time when this version was deactivated by a version incrementing\n */\n\n/**\n * @class\n */\n\nfunction Statistic(_ref) {\n var name = _ref.name,\n value = _ref.value,\n version = _ref.version;\n\n /**\n * @type {string}\n */\n this.name = name;\n /**\n * @type {number}\n */\n\n this.value = value;\n /**\n * @type {number?}\n */\n\n this.version = version;\n}\n\nvar parseStatisticData = function parseStatisticData(statisticData) {\n var _AV$_decode = AV._decode(statisticData),\n name = _AV$_decode.statisticName,\n value = _AV$_decode.statisticValue,\n version = _AV$_decode.version;\n\n return new Statistic({\n name: name,\n value: value,\n version: version\n });\n};\n/**\n * @class\n */\n\n\nAV.Leaderboard = function Leaderboard(statisticName) {\n /**\n * @type {string}\n */\n this.statisticName = statisticName;\n /**\n * @type {AV.LeaderboardOrder}\n */\n\n this.order = undefined;\n /**\n * @type {AV.LeaderboardUpdateStrategy}\n */\n\n this.updateStrategy = undefined;\n /**\n * @type {AV.LeaderboardVersionChangeInterval}\n */\n\n this.versionChangeInterval = undefined;\n /**\n * @type {number}\n */\n\n this.version = undefined;\n /**\n * @type {Date?}\n */\n\n this.nextResetAt = undefined;\n /**\n * @type {Date?}\n */\n\n this.createdAt = undefined;\n};\n\nvar Leaderboard = AV.Leaderboard;\n/**\n * Create an instance of Leaderboard for the give statistic name.\n * @param {string} statisticName\n * @return {AV.Leaderboard}\n */\n\nAV.Leaderboard.createWithoutData = function (statisticName) {\n return new Leaderboard(statisticName);\n};\n/**\n * (masterKey required) Create a new Leaderboard.\n * @param {Object} options\n * @param {string} options.statisticName\n * @param {AV.LeaderboardOrder} options.order\n * @param {AV.LeaderboardVersionChangeInterval} [options.versionChangeInterval] default to WEEK\n * @param {AV.LeaderboardUpdateStrategy} [options.updateStrategy] default to BETTER\n * @param {AuthOptions} [authOptions]\n * @return {PromiseAvailable in Cloud Code and Node.js only.\n *
\n */\n AV.Cloud.useMasterKey = () => {\n AV._config.useMasterKey = true;\n };\n}\n\n/**\n * Call this method to set production environment variable.\n * @function AV.setProduction\n * @param {Boolean} production True is production environment,and\n * it's true by default.\n */\nAV.setProduction = production => {\n if (!isNullOrUndefined(production)) {\n AV._config.production = production ? 1 : 0;\n } else {\n // change to default value\n AV._config.production = null;\n }\n};\n\nAV._setServerURLs = (urls, disableAppRouter = true) => {\n if (typeof urls !== 'string') {\n extend(AV._config.serverURLs, urls);\n } else {\n AV._config.serverURLs = fillServerURLs(urls);\n }\n if (disableAppRouter) {\n if (AV._appRouter) {\n AV._appRouter.disable();\n } else {\n _disableAppRouter = true;\n }\n }\n};\n/**\n * Set server URLs for services.\n * @function AV.setServerURL\n * @since 4.3.0\n * @param {String|ServerURLs} urls URLs for services. if a string was given, it will be applied for all services.\n * You can also set them when initializing SDK with `options.serverURL`\n */\nAV.setServerURL = urls => AV._setServerURLs(urls);\nAV.setServerURLs = AV.setServerURL;\n\nAV.keepErrorRawMessage = value => {\n AV._sharedConfig.keepErrorRawMessage = value;\n};\n\n/**\n * Set a deadline for requests to complete.\n * Note that file upload requests are not affected.\n * @function AV.setRequestTimeout\n * @since 3.6.0\n * @param {number} ms\n */\nAV.setRequestTimeout = ms => {\n AV._config.requestTimeout = ms;\n};\n\n// backword compatible\nAV.initialize = AV.init;\n\nconst defineConfig = property =>\n Object.defineProperty(AV, property, {\n get() {\n return AV._config[property];\n },\n set(value) {\n AV._config[property] = value;\n },\n });\n\n['applicationId', 'applicationKey', 'masterKey', 'hookKey'].forEach(\n defineConfig\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/init.js","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/instance/slice.js\n// module id = 391\n// module chunks = 0 1","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/array/virtual/slice.js\n// module id = 392\n// module chunks = 0 1","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.array.slice.js\n// module id = 393\n// module chunks = 0 1","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/object/define-property.js\n// module id = 394\n// module chunks = 0 1","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.object.define-property.js\n// module id = 395\n// module chunks = 0 1","const ajax = require('./utils/ajax');\nconst Cache = require('./cache');\n\nfunction AppRouter(AV) {\n this.AV = AV;\n this.lockedUntil = 0;\n Cache.getAsync('serverURLs')\n .then(data => {\n if (this.disabled) return;\n if (!data) return this.lock(0);\n const { serverURLs, lockedUntil } = data;\n this.AV._setServerURLs(serverURLs, false);\n this.lockedUntil = lockedUntil;\n })\n .catch(() => this.lock(0));\n}\n\nAppRouter.prototype.disable = function disable() {\n this.disabled = true;\n};\nAppRouter.prototype.lock = function lock(ttl) {\n this.lockedUntil = Date.now() + ttl;\n};\nAppRouter.prototype.refresh = function refresh() {\n if (this.disabled) return;\n if (Date.now() < this.lockedUntil) return;\n this.lock(10);\n const url = 'https://app-router.com/2/route';\n return ajax({\n method: 'get',\n url,\n query: {\n appId: this.AV.applicationId,\n },\n })\n .then(servers => {\n if (this.disabled) return;\n let ttl = servers.ttl;\n if (!ttl) throw new Error('missing ttl');\n ttl = ttl * 1000;\n const protocal = 'https://';\n const serverURLs = {\n push: protocal + servers.push_server,\n stats: protocal + servers.stats_server,\n engine: protocal + servers.engine_server,\n api: protocal + servers.api_server,\n };\n this.AV._setServerURLs(serverURLs, false);\n this.lock(ttl);\n return Cache.setAsync(\n 'serverURLs',\n {\n serverURLs,\n lockedUntil: this.lockedUntil,\n },\n ttl\n );\n })\n .catch(error => {\n // bypass all errors\n console.warn(`refresh server URLs failed: ${error.message}`);\n this.lock(600);\n });\n};\n\nmodule.exports = AppRouter;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app-router.js","module.exports = require('../../full/symbol');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/features/symbol/index.js\n// module id = 397\n// module chunks = 0 1","var parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata-key');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.metadata');\nrequire('../../modules/esnext.symbol.pattern-match');\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/full/symbol/index.js\n// module id = 398\n// module chunks = 0 1","var parent = require('../../stable/symbol');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/actual/symbol/index.js\n// module id = 399\n// module chunks = 0 1","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/symbol/index.js\n// module id = 400\n// module chunks = 0 1","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.js\n// module id = 401\n// module chunks = 0 1","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.constructor.js\n// module id = 402\n// module chunks = 0 1","/* eslint-disable es-x/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/internals/object-get-own-property-names-external.js\n// module id = 403\n// module chunks = 0 1","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/native-symbol-registry');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.for.js\n// module id = 404\n// module chunks = 0 1","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/native-symbol-registry');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.key-for.js\n// module id = 405\n// module chunks = 0 1","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js\n// module id = 406\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.async-iterator.js\n// module id = 407\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.has-instance.js\n// module id = 409\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js\n// module id = 410\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.match.js\n// module id = 411\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.match-all.js\n// module id = 412\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.replace.js\n// module id = 413\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.search.js\n// module id = 414\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.species.js\n// module id = 415\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.split.js\n// module id = 416\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.to-primitive.js\n// module id = 417\n// module chunks = 0 1","var getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js\n// module id = 418\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.symbol.unscopables.js\n// module id = 419\n// module chunks = 0 1","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.json.to-string-tag.js\n// module id = 420\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js\n// module id = 423\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.dispose.js\n// module id = 424\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.matcher.js\n// module id = 425\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js\n// module id = 426\n// module chunks = 0 1","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.observable.js\n// module id = 427\n// module chunks = 0 1","// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.metadata.js\n// module id = 428\n// module chunks = 0 1","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js\n// module id = 429\n// module chunks = 0 1","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js\n// module id = 430\n// module chunks = 0 1","module.exports = require(\"core-js-pure/features/symbol/iterator\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js\n// module id = 431\n// module chunks = 0 1","module.exports = require('../../full/symbol/iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/features/symbol/iterator.js\n// module id = 432\n// module chunks = 0 1","var parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/full/symbol/iterator.js\n// module id = 433\n// module chunks = 0 1","var parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/actual/symbol/iterator.js\n// module id = 434\n// module chunks = 0 1","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/symbol/iterator.js\n// module id = 435\n// module chunks = 0 1","module.exports = require(\"core-js-pure/stable/instance/filter\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js\n// module id = 436\n// module chunks = 0 1","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/stable/instance/filter.js\n// module id = 437\n// module chunks = 0 1","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.filter) ? method : own;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/instance/filter.js\n// module id = 438\n// module chunks = 0 1","require('../../../modules/es.array.filter');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').filter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/array/virtual/filter.js\n// module id = 439\n// module chunks = 0 1","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.array.filter.js\n// module id = 440\n// module chunks = 0 1","// Copyright (c) 2015-2017 David M. Lee, II\n'use strict';\n\n/**\n * Local reference to TimeoutError\n * @private\n */\nvar TimeoutError;\n\n/**\n * Rejects a promise with a {@link TimeoutError} if it does not settle within\n * the specified timeout.\n *\n * @param {Promise} promise The promise.\n * @param {number} timeoutMillis Number of milliseconds to wait on settling.\n * @returns {Promise} Either resolves/rejects with `promise`, or rejects with\n * `TimeoutError`, whichever settles first.\n */\nvar timeout = module.exports.timeout = function(promise, timeoutMillis) {\n var error = new TimeoutError(),\n timeout;\n\n return Promise.race([\n promise,\n new Promise(function(resolve, reject) {\n timeout = setTimeout(function() {\n reject(error);\n }, timeoutMillis);\n }),\n ]).then(function(v) {\n clearTimeout(timeout);\n return v;\n }, function(err) {\n clearTimeout(timeout);\n throw err;\n });\n};\n\n/**\n * Exception indicating that the timeout expired.\n */\nTimeoutError = module.exports.TimeoutError = function() {\n Error.call(this)\n this.stack = Error().stack\n this.message = 'Timeout';\n};\n\nTimeoutError.prototype = Object.create(Error.prototype);\nTimeoutError.prototype.name = \"TimeoutError\";\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/promise-timeout/index.js\n// module id = 441\n// module chunks = 0 1","var _ = require('underscore');\n\nmodule.exports = function(AV) {\n var eventSplitter = /\\s+/;\n var slice = Array.prototype.slice;\n\n /**\n * @class\n *\n *AV.Events is a fork of Backbone's Events module, provided for your\n * convenience.
\n *\n *A module that can be mixed in to any object in order to provide\n * it with custom events. You may bind callback functions to an event\n * with `on`, or remove these functions with `off`.\n * Triggering an event fires all callbacks in the order that `on` was\n * called.\n *\n * @private\n * @example\n * var object = {};\n * _.extend(object, AV.Events);\n * object.on('expand', function(){ alert('expanded'); });\n * object.trigger('expand');
\n *\n */\n AV.Events = {\n /**\n * Bind one or more space separated events, `events`, to a `callback`\n * function. Passing `\"all\"` will bind the callback to all events fired.\n */\n on: function(events, callback, context) {\n var calls, event, node, tail, list;\n if (!callback) {\n return this;\n }\n events = events.split(eventSplitter);\n calls = this._callbacks || (this._callbacks = {});\n\n // Create an immutable callback list, allowing traversal during\n // modification. The tail is an empty object that will always be used\n // as the next node.\n event = events.shift();\n while (event) {\n list = calls[event];\n node = list ? list.tail : {};\n node.next = tail = {};\n node.context = context;\n node.callback = callback;\n calls[event] = { tail: tail, next: list ? list.next : node };\n event = events.shift();\n }\n\n return this;\n },\n\n /**\n * Remove one or many callbacks. If `context` is null, removes all callbacks\n * with that function. If `callback` is null, removes all callbacks for the\n * event. If `events` is null, removes all bound callbacks for all events.\n */\n off: function(events, callback, context) {\n var event, calls, node, tail, cb, ctx;\n\n // No events, or removing *all* events.\n if (!(calls = this._callbacks)) {\n return;\n }\n if (!(events || callback || context)) {\n delete this._callbacks;\n return this;\n }\n\n // Loop through the listed events and contexts, splicing them out of the\n // linked list of callbacks if appropriate.\n events = events ? events.split(eventSplitter) : _.keys(calls);\n event = events.shift();\n while (event) {\n node = calls[event];\n delete calls[event];\n if (!node || !(callback || context)) {\n continue;\n }\n // Create a new list, omitting the indicated callbacks.\n tail = node.tail;\n node = node.next;\n while (node !== tail) {\n cb = node.callback;\n ctx = node.context;\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx);\n }\n node = node.next;\n }\n event = events.shift();\n }\n\n return this;\n },\n\n /**\n * Trigger one or many events, firing all bound callbacks. Callbacks are\n * passed the same arguments as `trigger` is, apart from the event name\n * (unless you're listening on `\"all\"`, which will cause your callback to\n * receive the true name of the event as the first argument).\n */\n trigger: function(events) {\n var event, node, calls, tail, args, all, rest;\n if (!(calls = this._callbacks)) {\n return this;\n }\n all = calls.all;\n events = events.split(eventSplitter);\n rest = slice.call(arguments, 1);\n\n // For each event, walk through the linked list of callbacks twice,\n // first to trigger the event, then to trigger any `\"all\"` callbacks.\n event = events.shift();\n while (event) {\n node = calls[event];\n if (node) {\n tail = node.tail;\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, rest);\n }\n }\n node = all;\n if (node) {\n tail = node.tail;\n args = [event].concat(rest);\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, args);\n }\n }\n event = events.shift();\n }\n\n return this;\n },\n };\n\n /**\n * @function\n */\n AV.Events.bind = AV.Events.on;\n\n /**\n * @function\n */\n AV.Events.unbind = AV.Events.off;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/event.js","var _ = require('underscore');\n\n/*global navigator: false */\nmodule.exports = function(AV) {\n /**\n * Creates a new GeoPoint with any of the following forms:Represents a latitude / longitude point that may be associated\n * with a key in a AVObject or used as a reference point for geo queries.\n * This allows proximity-based queries on the key.
\n *\n *Only one key in a class may contain a GeoPoint.
\n *\n *Example:
\n * var point = new AV.GeoPoint(30.0, -20.0);\n * var object = new AV.Object(\"PlaceObject\");\n * object.set(\"location\", point);\n * object.save();\n */\n AV.GeoPoint = function(arg1, arg2) {\n if (_.isArray(arg1)) {\n AV.GeoPoint._validate(arg1[0], arg1[1]);\n this.latitude = arg1[0];\n this.longitude = arg1[1];\n } else if (_.isObject(arg1)) {\n AV.GeoPoint._validate(arg1.latitude, arg1.longitude);\n this.latitude = arg1.latitude;\n this.longitude = arg1.longitude;\n } else if (_.isNumber(arg1) && _.isNumber(arg2)) {\n AV.GeoPoint._validate(arg1, arg2);\n this.latitude = arg1;\n this.longitude = arg2;\n } else {\n this.latitude = 0;\n this.longitude = 0;\n }\n\n // Add properties so that anyone using Webkit or Mozilla will get an error\n // if they try to set values that are out of bounds.\n var self = this;\n if (this.__defineGetter__ && this.__defineSetter__) {\n // Use _latitude and _longitude to actually store the values, and add\n // getters and setters for latitude and longitude.\n this._latitude = this.latitude;\n this._longitude = this.longitude;\n this.__defineGetter__('latitude', function() {\n return self._latitude;\n });\n this.__defineGetter__('longitude', function() {\n return self._longitude;\n });\n this.__defineSetter__('latitude', function(val) {\n AV.GeoPoint._validate(val, self.longitude);\n self._latitude = val;\n });\n this.__defineSetter__('longitude', function(val) {\n AV.GeoPoint._validate(self.latitude, val);\n self._longitude = val;\n });\n }\n };\n\n /**\n * @lends AV.GeoPoint.prototype\n * @property {float} latitude North-south portion of the coordinate, in range\n * [-90, 90]. Throws an exception if set out of range in a modern browser.\n * @property {float} longitude East-west portion of the coordinate, in range\n * [-180, 180]. Throws if set out of range in a modern browser.\n */\n\n /**\n * Throws an exception if the given lat-long is out of bounds.\n * @private\n */\n AV.GeoPoint._validate = function(latitude, longitude) {\n if (latitude < -90.0) {\n throw new Error('AV.GeoPoint latitude ' + latitude + ' < -90.0.');\n }\n if (latitude > 90.0) {\n throw new Error('AV.GeoPoint latitude ' + latitude + ' > 90.0.');\n }\n if (longitude < -180.0) {\n throw new Error('AV.GeoPoint longitude ' + longitude + ' < -180.0.');\n }\n if (longitude > 180.0) {\n throw new Error('AV.GeoPoint longitude ' + longitude + ' > 180.0.');\n }\n };\n\n /**\n * Creates a GeoPoint with the user's current location, if available.\n * @return {Promise.
An ACL, or Access Control List can be added to any\n * AV.Object
to restrict access to only a subset of users\n * of your application.
object.set(\"foo\", \"bar\")
\n * is an example of a AV.Op.Set. Calling object.unset(\"foo\")
\n * is a AV.Op.Unset. These operations are stored in a AV.Object and\n * sent to the server as part of object.save()
operations.\n * Instances of AV.Op should be immutable.\n *\n * You should not create subclasses of AV.Op or instantiate AV.Op\n * directly.\n */\n AV.Op = function() {\n this._initialize.apply(this, arguments);\n };\n\n _.extend(\n AV.Op.prototype,\n /** @lends AV.Op.prototype */ {\n _initialize: function() {},\n }\n );\n\n _.extend(AV.Op, {\n /**\n * To create a new Op, call AV.Op._extend();\n * @private\n */\n _extend: AV._extend,\n\n // A map of __op string to decoder function.\n _opDecoderMap: {},\n\n /**\n * Registers a function to convert a json object with an __op field into an\n * instance of a subclass of AV.Op.\n * @private\n */\n _registerDecoder: function(opName, decoder) {\n AV.Op._opDecoderMap[opName] = decoder;\n },\n\n /**\n * Converts a json object into an instance of a subclass of AV.Op.\n * @private\n */\n _decode: function(json) {\n var decoder = AV.Op._opDecoderMap[json.__op];\n if (decoder) {\n return decoder(json);\n } else {\n return undefined;\n }\n },\n });\n\n /*\n * Add a handler for Batch ops.\n */\n AV.Op._registerDecoder('Batch', function(json) {\n var op = null;\n AV._arrayEach(json.ops, function(nextOp) {\n nextOp = AV.Op._decode(nextOp);\n op = nextOp._mergeWithPrevious(op);\n });\n return op;\n });\n\n /**\n * @private\n * @class\n * A Set operation indicates that either the field was changed using\n * AV.Object.set, or it is a mutable container that was detected as being\n * changed.\n */\n AV.Op.Set = AV.Op._extend(\n /** @lends AV.Op.Set.prototype */ {\n _initialize: function(value) {\n this._value = value;\n },\n\n /**\n * Returns the new value of this field after the set.\n */\n value: function() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function() {\n return AV._encode(this.value());\n },\n\n _mergeWithPrevious: function(previous) {\n return this;\n },\n\n _estimate: function(oldValue) {\n return this.value();\n },\n }\n );\n\n /**\n * A sentinel value that is returned by AV.Op.Unset._estimate to\n * indicate the field should be deleted. Basically, if you find _UNSET as a\n * value in your object, you should remove that key.\n */\n AV.Op._UNSET = {};\n\n /**\n * @private\n * @class\n * An Unset operation indicates that this field has been deleted from the\n * object.\n */\n AV.Op.Unset = AV.Op._extend(\n /** @lends AV.Op.Unset.prototype */ {\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function() {\n return { __op: 'Delete' };\n },\n\n _mergeWithPrevious: function(previous) {\n return this;\n },\n\n _estimate: function(oldValue) {\n return AV.Op._UNSET;\n },\n }\n );\n\n AV.Op._registerDecoder('Delete', function(json) {\n return new AV.Op.Unset();\n });\n\n /**\n * @private\n * @class\n * An Increment is an atomic operation where the numeric value for the field\n * will be increased by a given amount.\n */\n AV.Op.Increment = AV.Op._extend(\n /** @lends AV.Op.Increment.prototype */ {\n _initialize: function(amount) {\n this._amount = amount;\n },\n\n /**\n * Returns the amount to increment by.\n * @return {Number} the amount to increment by.\n */\n amount: function() {\n return this._amount;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function() {\n return { __op: 'Increment', amount: this._amount };\n },\n\n _mergeWithPrevious: function(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.amount());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() + this.amount());\n } else if (previous instanceof AV.Op.Increment) {\n return new AV.Op.Increment(this.amount() + previous.amount());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate: function(oldValue) {\n if (!oldValue) {\n return this.amount();\n }\n return oldValue + this.amount();\n },\n }\n );\n\n AV.Op._registerDecoder('Increment', function(json) {\n return new AV.Op.Increment(json.amount);\n });\n\n /**\n * @private\n * @class\n * BitAnd is an atomic operation where the given value will be bit and to the\n * value than is stored in this field.\n */\n AV.Op.BitAnd = AV.Op._extend(\n /** @lends AV.Op.BitAnd.prototype */ {\n _initialize(value) {\n this._value = value;\n },\n\n value() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON() {\n return { __op: 'BitAnd', value: this.value() };\n },\n\n _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(0);\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() & this.value());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate(oldValue) {\n return oldValue & this.value();\n },\n }\n );\n\n AV.Op._registerDecoder('BitAnd', function(json) {\n return new AV.Op.BitAnd(json.value);\n });\n\n /**\n * @private\n * @class\n * BitOr is an atomic operation where the given value will be bit and to the\n * value than is stored in this field.\n */\n AV.Op.BitOr = AV.Op._extend(\n /** @lends AV.Op.BitOr.prototype */ {\n _initialize(value) {\n this._value = value;\n },\n\n value() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON() {\n return { __op: 'BitOr', value: this.value() };\n },\n\n _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.value());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() | this.value());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate(oldValue) {\n return oldValue | this.value();\n },\n }\n );\n\n AV.Op._registerDecoder('BitOr', function(json) {\n return new AV.Op.BitOr(json.value);\n });\n\n /**\n * @private\n * @class\n * BitXor is an atomic operation where the given value will be bit and to the\n * value than is stored in this field.\n */\n AV.Op.BitXor = AV.Op._extend(\n /** @lends AV.Op.BitXor.prototype */ {\n _initialize(value) {\n this._value = value;\n },\n\n value() {\n return this._value;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON() {\n return { __op: 'BitXor', value: this.value() };\n },\n\n _mergeWithPrevious(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.value());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(previous.value() ^ this.value());\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate(oldValue) {\n return oldValue ^ this.value();\n },\n }\n );\n\n AV.Op._registerDecoder('BitXor', function(json) {\n return new AV.Op.BitXor(json.value);\n });\n\n /**\n * @private\n * @class\n * Add is an atomic operation where the given objects will be appended to the\n * array that is stored in this field.\n */\n AV.Op.Add = AV.Op._extend(\n /** @lends AV.Op.Add.prototype */ {\n _initialize: function(objects) {\n this._objects = objects;\n },\n\n /**\n * Returns the objects to be added to the array.\n * @return {Array} The objects to be added to the array.\n */\n objects: function() {\n return this._objects;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function() {\n return { __op: 'Add', objects: AV._encode(this.objects()) };\n },\n\n _mergeWithPrevious: function(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.objects());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(this._estimate(previous.value()));\n } else if (previous instanceof AV.Op.Add) {\n return new AV.Op.Add(previous.objects().concat(this.objects()));\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate: function(oldValue) {\n if (!oldValue) {\n return _.clone(this.objects());\n } else {\n return oldValue.concat(this.objects());\n }\n },\n }\n );\n\n AV.Op._registerDecoder('Add', function(json) {\n return new AV.Op.Add(AV._decode(json.objects));\n });\n\n /**\n * @private\n * @class\n * AddUnique is an atomic operation where the given items will be appended to\n * the array that is stored in this field only if they were not already\n * present in the array.\n */\n AV.Op.AddUnique = AV.Op._extend(\n /** @lends AV.Op.AddUnique.prototype */ {\n _initialize: function(objects) {\n this._objects = _.uniq(objects);\n },\n\n /**\n * Returns the objects to be added to the array.\n * @return {Array} The objects to be added to the array.\n */\n objects: function() {\n return this._objects;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function() {\n return { __op: 'AddUnique', objects: AV._encode(this.objects()) };\n },\n\n _mergeWithPrevious: function(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return new AV.Op.Set(this.objects());\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(this._estimate(previous.value()));\n } else if (previous instanceof AV.Op.AddUnique) {\n return new AV.Op.AddUnique(this._estimate(previous.objects()));\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate: function(oldValue) {\n if (!oldValue) {\n return _.clone(this.objects());\n } else {\n // We can't just take the _.uniq(_.union(...)) of oldValue and\n // this.objects, because the uniqueness may not apply to oldValue\n // (especially if the oldValue was set via .set())\n var newValue = _.clone(oldValue);\n AV._arrayEach(this.objects(), function(obj) {\n if (obj instanceof AV.Object && obj.id) {\n var matchingObj = _.find(newValue, function(anObj) {\n return anObj instanceof AV.Object && anObj.id === obj.id;\n });\n if (!matchingObj) {\n newValue.push(obj);\n } else {\n var index = _.indexOf(newValue, matchingObj);\n newValue[index] = obj;\n }\n } else if (!_.contains(newValue, obj)) {\n newValue.push(obj);\n }\n });\n return newValue;\n }\n },\n }\n );\n\n AV.Op._registerDecoder('AddUnique', function(json) {\n return new AV.Op.AddUnique(AV._decode(json.objects));\n });\n\n /**\n * @private\n * @class\n * Remove is an atomic operation where the given objects will be removed from\n * the array that is stored in this field.\n */\n AV.Op.Remove = AV.Op._extend(\n /** @lends AV.Op.Remove.prototype */ {\n _initialize: function(objects) {\n this._objects = _.uniq(objects);\n },\n\n /**\n * Returns the objects to be removed from the array.\n * @return {Array} The objects to be removed from the array.\n */\n objects: function() {\n return this._objects;\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function() {\n return { __op: 'Remove', objects: AV._encode(this.objects()) };\n },\n\n _mergeWithPrevious: function(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n return previous;\n } else if (previous instanceof AV.Op.Set) {\n return new AV.Op.Set(this._estimate(previous.value()));\n } else if (previous instanceof AV.Op.Remove) {\n return new AV.Op.Remove(_.union(previous.objects(), this.objects()));\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate: function(oldValue) {\n if (!oldValue) {\n return [];\n } else {\n var newValue = _.difference(oldValue, this.objects());\n // If there are saved AV Objects being removed, also remove them.\n AV._arrayEach(this.objects(), function(obj) {\n if (obj instanceof AV.Object && obj.id) {\n newValue = _.reject(newValue, function(other) {\n return other instanceof AV.Object && other.id === obj.id;\n });\n }\n });\n return newValue;\n }\n },\n }\n );\n\n AV.Op._registerDecoder('Remove', function(json) {\n return new AV.Op.Remove(AV._decode(json.objects));\n });\n\n /**\n * @private\n * @class\n * A Relation operation indicates that the field is an instance of\n * AV.Relation, and objects are being added to, or removed from, that\n * relation.\n */\n AV.Op.Relation = AV.Op._extend(\n /** @lends AV.Op.Relation.prototype */ {\n _initialize: function(adds, removes) {\n this._targetClassName = null;\n\n var self = this;\n\n var pointerToId = function(object) {\n if (object instanceof AV.Object) {\n if (!object.id) {\n throw new Error(\n \"You can't add an unsaved AV.Object to a relation.\"\n );\n }\n if (!self._targetClassName) {\n self._targetClassName = object.className;\n }\n if (self._targetClassName !== object.className) {\n throw new Error(\n 'Tried to create a AV.Relation with 2 different types: ' +\n self._targetClassName +\n ' and ' +\n object.className +\n '.'\n );\n }\n return object.id;\n }\n return object;\n };\n\n this.relationsToAdd = _.uniq(_.map(adds, pointerToId));\n this.relationsToRemove = _.uniq(_.map(removes, pointerToId));\n },\n\n /**\n * Returns an array of unfetched AV.Object that are being added to the\n * relation.\n * @return {Array}\n */\n added: function() {\n var self = this;\n return _.map(this.relationsToAdd, function(objectId) {\n var object = AV.Object._create(self._targetClassName);\n object.id = objectId;\n return object;\n });\n },\n\n /**\n * Returns an array of unfetched AV.Object that are being removed from\n * the relation.\n * @return {Array}\n */\n removed: function() {\n var self = this;\n return _.map(this.relationsToRemove, function(objectId) {\n var object = AV.Object._create(self._targetClassName);\n object.id = objectId;\n return object;\n });\n },\n\n /**\n * Returns a JSON version of the operation suitable for sending to AV.\n * @return {Object}\n */\n toJSON: function() {\n var adds = null;\n var removes = null;\n var self = this;\n var idToPointer = function(id) {\n return {\n __type: 'Pointer',\n className: self._targetClassName,\n objectId: id,\n };\n };\n var pointers = null;\n if (this.relationsToAdd.length > 0) {\n pointers = _.map(this.relationsToAdd, idToPointer);\n adds = { __op: 'AddRelation', objects: pointers };\n }\n\n if (this.relationsToRemove.length > 0) {\n pointers = _.map(this.relationsToRemove, idToPointer);\n removes = { __op: 'RemoveRelation', objects: pointers };\n }\n\n if (adds && removes) {\n return { __op: 'Batch', ops: [adds, removes] };\n }\n\n return adds || removes || {};\n },\n\n _mergeWithPrevious: function(previous) {\n if (!previous) {\n return this;\n } else if (previous instanceof AV.Op.Unset) {\n throw new Error(\"You can't modify a relation after deleting it.\");\n } else if (previous instanceof AV.Op.Relation) {\n if (\n previous._targetClassName &&\n previous._targetClassName !== this._targetClassName\n ) {\n throw new Error(\n 'Related object must be of class ' +\n previous._targetClassName +\n ', but ' +\n this._targetClassName +\n ' was passed in.'\n );\n }\n var newAdd = _.union(\n _.difference(previous.relationsToAdd, this.relationsToRemove),\n this.relationsToAdd\n );\n var newRemove = _.union(\n _.difference(previous.relationsToRemove, this.relationsToAdd),\n this.relationsToRemove\n );\n\n var newRelation = new AV.Op.Relation(newAdd, newRemove);\n newRelation._targetClassName = this._targetClassName;\n return newRelation;\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n\n _estimate: function(oldValue, object, key) {\n if (!oldValue) {\n var relation = new AV.Relation(object, key);\n relation.targetClassName = this._targetClassName;\n } else if (oldValue instanceof AV.Relation) {\n if (this._targetClassName) {\n if (oldValue.targetClassName) {\n if (oldValue.targetClassName !== this._targetClassName) {\n throw new Error(\n 'Related object must be a ' +\n oldValue.targetClassName +\n ', but a ' +\n this._targetClassName +\n ' was passed in.'\n );\n }\n } else {\n oldValue.targetClassName = this._targetClassName;\n }\n }\n return oldValue;\n } else {\n throw new Error('Op is invalid after previous op.');\n }\n },\n }\n );\n\n AV.Op._registerDecoder('AddRelation', function(json) {\n return new AV.Op.Relation(AV._decode(json.objects), []);\n });\n AV.Op._registerDecoder('RemoveRelation', function(json) {\n return new AV.Op.Relation([], AV._decode(json.objects));\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/op.js","var parent = require('../../es/instance/find');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/stable/instance/find.js\n// module id = 446\n// module chunks = 0 1","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/find');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.find;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.find) ? method : own;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/instance/find.js\n// module id = 447\n// module chunks = 0 1","require('../../../modules/es.array.find');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').find;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/array/virtual/find.js\n// module id = 448\n// module chunks = 0 1","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.array.find.js\n// module id = 449\n// module chunks = 0 1","var _ = require('underscore');\n\nmodule.exports = function(AV) {\n /**\n * Creates a new Relation for the given parent object and key. This\n * constructor should rarely be used directly, but rather created by\n * {@link AV.Object#relation}.\n * @param {AV.Object} parent The parent of this relation.\n * @param {String} key The key for this relation on the parent.\n * @see AV.Object#relation\n * @class\n *\n * \n * A class that is used to access all of the children of a many-to-many\n * relationship. Each instance of AV.Relation is associated with a\n * particular parent object and key.\n *
\n */\n AV.Relation = function(parent, key) {\n if (!_.isString(key)) {\n throw new TypeError('key must be a string');\n }\n this.parent = parent;\n this.key = key;\n this.targetClassName = null;\n };\n\n /**\n * Creates a query that can be used to query the parent objects in this relation.\n * @param {String} parentClass The parent class or name.\n * @param {String} relationKey The relation field key in parent.\n * @param {AV.Object} child The child object.\n * @return {AV.Query}\n */\n AV.Relation.reverseQuery = function(parentClass, relationKey, child) {\n var query = new AV.Query(parentClass);\n query.equalTo(relationKey, child._toPointer());\n return query;\n };\n\n _.extend(\n AV.Relation.prototype,\n /** @lends AV.Relation.prototype */ {\n /**\n * Makes sure that this relation has the right parent and key.\n * @private\n */\n _ensureParentAndKey: function(parent, key) {\n this.parent = this.parent || parent;\n this.key = this.key || key;\n if (this.parent !== parent) {\n throw new Error(\n 'Internal Error. Relation retrieved from two different Objects.'\n );\n }\n if (this.key !== key) {\n throw new Error(\n 'Internal Error. Relation retrieved from two different keys.'\n );\n }\n },\n\n /**\n * Adds a AV.Object or an array of AV.Objects to the relation.\n * @param {AV.Object|AV.Object[]} objects The item or items to add.\n */\n add: function(objects) {\n if (!_.isArray(objects)) {\n objects = [objects];\n }\n\n var change = new AV.Op.Relation(objects, []);\n this.parent.set(this.key, change);\n this.targetClassName = change._targetClassName;\n },\n\n /**\n * Removes a AV.Object or an array of AV.Objects from this relation.\n * @param {AV.Object|AV.Object[]} objects The item or items to remove.\n */\n remove: function(objects) {\n if (!_.isArray(objects)) {\n objects = [objects];\n }\n\n var change = new AV.Op.Relation([], objects);\n this.parent.set(this.key, change);\n this.targetClassName = change._targetClassName;\n },\n\n /**\n * Returns a JSON version of the object suitable for saving to disk.\n * @return {Object}\n */\n toJSON: function() {\n return { __type: 'Relation', className: this.targetClassName };\n },\n\n /**\n * Returns a AV.Query that is limited to objects in this\n * relation.\n * @return {AV.Query}\n */\n query: function() {\n var targetClass;\n var query;\n if (!this.targetClassName) {\n targetClass = AV.Object._getSubclass(this.parent.className);\n query = new AV.Query(targetClass);\n query._defaultParams.redirectClassNameForKey = this.key;\n } else {\n targetClass = AV.Object._getSubclass(this.targetClassName);\n query = new AV.Query(targetClass);\n }\n query._addCondition('$relatedTo', 'object', this.parent._toPointer());\n query._addCondition('$relatedTo', 'key', this.key);\n\n return query;\n },\n }\n );\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/relation.js","const _ = require('underscore');\nconst cos = require('./uploader/cos');\nconst qiniu = require('./uploader/qiniu');\nconst s3 = require('./uploader/s3');\nconst AVError = require('./error');\nconst { request, _request: AVRequest } = require('./request');\nconst { tap, transformFetchOptions } = require('./utils');\nconst debug = require('debug')('leancloud:file');\nconst parseBase64 = require('./utils/parse-base64');\n\nmodule.exports = function(AV) {\n // port from browserify path module\n // since react-native packager won't shim node modules.\n const extname = path => {\n if (!_.isString(path)) return '';\n return path.match(\n /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/\n )[4];\n };\n\n const b64Digit = number => {\n if (number < 26) {\n return String.fromCharCode(65 + number);\n }\n if (number < 52) {\n return String.fromCharCode(97 + (number - 26));\n }\n if (number < 62) {\n return String.fromCharCode(48 + (number - 52));\n }\n if (number === 62) {\n return '+';\n }\n if (number === 63) {\n return '/';\n }\n throw new Error('Tried to encode large digit ' + number + ' in base64.');\n };\n\n var encodeBase64 = function(array) {\n var chunks = [];\n chunks.length = Math.ceil(array.length / 3);\n _.times(chunks.length, function(i) {\n var b1 = array[i * 3];\n var b2 = array[i * 3 + 1] || 0;\n var b3 = array[i * 3 + 2] || 0;\n\n var has2 = i * 3 + 1 < array.length;\n var has3 = i * 3 + 2 < array.length;\n\n chunks[i] = [\n b64Digit((b1 >> 2) & 0x3f),\n b64Digit(((b1 << 4) & 0x30) | ((b2 >> 4) & 0x0f)),\n has2 ? b64Digit(((b2 << 2) & 0x3c) | ((b3 >> 6) & 0x03)) : '=',\n has3 ? b64Digit(b3 & 0x3f) : '=',\n ].join('');\n });\n return chunks.join('');\n };\n\n /**\n * An AV.File is a local representation of a file that is saved to the AV\n * cloud.\n * @param name {String} The file's name. This will change to a unique value\n * once the file has finished saving.\n * @param data {Array} The data for the file, as either:\n * 1. an Array of byte value Numbers, or\n * 2. an Object like { base64: \"...\" } with a base64-encoded String.\n * 3. a Blob(File) selected with a file upload control in a browser.\n * 4. an Object like { blob: {uri: \"...\"} } that mimics Blob\n * in some non-browser environments such as React Native.\n * 5. a Buffer in Node.js runtime.\n * 6. a Stream in Node.js runtime.\n *\n * For example:\n * var fileUploadControl = $(\"#profilePhotoFileUpload\")[0];\n * if (fileUploadControl.files.length > 0) {\n * var file = fileUploadControl.files[0];\n * var name = \"photo.jpg\";\n * var file = new AV.File(name, file);\n * file.save().then(function() {\n * // The file has been saved to AV.\n * }, function(error) {\n * // The file either could not be read, or could not be saved to AV.\n * });\n * }\n *\n * @class\n * @param [mimeType] {String} Content-Type header to use for the file. If\n * this is omitted, the content type will be inferred from the name's\n * extension.\n */\n AV.File = function(name, data, mimeType) {\n this.attributes = {\n name,\n url: '',\n metaData: {},\n // 用来存储转换后要上传的 base64 String\n base64: '',\n };\n\n if (_.isString(data)) {\n throw new TypeError(\n 'Creating an AV.File from a String is not yet supported.'\n );\n }\n if (_.isArray(data)) {\n this.attributes.metaData.size = data.length;\n data = { base64: encodeBase64(data) };\n }\n\n this._extName = '';\n this._data = data;\n this._uploadHeaders = {};\n\n if (data && data.blob && typeof data.blob.uri === 'string') {\n this._extName = extname(data.blob.uri);\n }\n\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n if (data.size) {\n this.attributes.metaData.size = data.size;\n }\n if (data.name) {\n this._extName = extname(data.name);\n }\n }\n\n\n let owner;\n if (data && data.owner) {\n owner = data.owner;\n } else if (!AV._config.disableCurrentUser) {\n try {\n owner = AV.User.current();\n } catch (error) {\n if ('SYNC_API_NOT_AVAILABLE' !== error.code) {\n throw error;\n }\n }\n }\n\n this.attributes.metaData.owner = owner ? owner.id : 'unknown';\n\n this.set('mime_type', mimeType);\n };\n\n /**\n * Creates a fresh AV.File object with exists url for saving to AVOS Cloud.\n * @param {String} name the file name\n * @param {String} url the file url.\n * @param {Object} [metaData] the file metadata object.\n * @param {String} [type] Content-Type header to use for the file. If\n * this is omitted, the content type will be inferred from the name's\n * extension.\n * @return {AV.File} the file object\n */\n AV.File.withURL = function(name, url, metaData, type) {\n if (!name || !url) {\n throw new Error('Please provide file name and url');\n }\n var file = new AV.File(name, null, type);\n //copy metaData properties to file.\n if (metaData) {\n for (var prop in metaData) {\n if (!file.attributes.metaData[prop])\n file.attributes.metaData[prop] = metaData[prop];\n }\n }\n file.attributes.url = url;\n //Mark the file is from external source.\n file.attributes.metaData.__source = 'external';\n file.attributes.metaData.size = 0;\n return file;\n };\n\n /**\n * Creates a file object with exists objectId.\n * @param {String} objectId The objectId string\n * @return {AV.File} the file object\n */\n AV.File.createWithoutData = function(objectId) {\n if (!objectId) {\n throw new TypeError('The objectId must be provided');\n }\n var file = new AV.File();\n file.id = objectId;\n return file;\n };\n\n /**\n * Request file censor.\n * @since 4.13.0\n * @param {String} objectId\n * @return {Promise.
Returns the file's metadata JSON object if no arguments is given.Returns the\n * metadata value if a key is given.Set metadata value if key and value are both given.
\n *\n * var metadata = file.metaData(); //Get metadata JSON object.\n * var size = file.metaData('size'); // Get the size metadata value.\n * file.metaData('format', 'jpeg'); //set metadata attribute and value.\n *\n * @return {Object} The file's metadata JSON object.\n * @param {String} attr an optional metadata key.\n * @param {Object} value an optional metadata value.\n **/\n metaData(attr, value) {\n if (attr && value) {\n this.attributes.metaData[attr] = value;\n return this;\n } else if (attr && !value) {\n return this.attributes.metaData[attr];\n } else {\n return this.attributes.metaData;\n }\n },\n\n /**\n * 如果文件是图片,获取图片的缩略图URL。可以传入宽度、高度、质量、格式等参数。\n * @return {String} 缩略图URL\n * @param {Number} width 宽度,单位:像素\n * @param {Number} heigth 高度,单位:像素\n * @param {Number} quality 质量,1-100的数字,默认100\n * @param {Number} scaleToFit 是否将图片自适应大小。默认为true。\n * @param {String} fmt 格式,默认为png,也可以为jpeg,gif等格式。\n */\n\n thumbnailURL(\n width,\n height,\n quality = 100,\n scaleToFit = true,\n fmt = 'png'\n ) {\n const url = this.attributes.url;\n if (!url) {\n throw new Error('Invalid url.');\n }\n if (!width || !height || width <= 0 || height <= 0) {\n throw new Error('Invalid width or height value.');\n }\n if (quality <= 0 || quality > 100) {\n throw new Error('Invalid quality value.');\n }\n const mode = scaleToFit ? 2 : 1;\n return (\n url +\n '?imageView/' +\n mode +\n '/w/' +\n width +\n '/h/' +\n height +\n '/q/' +\n quality +\n '/format/' +\n fmt\n );\n },\n\n /**\n * Returns the file's size.\n * @return {Number} The file's size in bytes.\n **/\n size() {\n return this.metaData().size;\n },\n\n /**\n * Returns the file's owner.\n * @return {String} The file's owner id.\n */\n ownerId() {\n return this.metaData().owner;\n },\n\n /**\n * Destroy the file.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the destroy\n * completes.\n */\n destroy(options) {\n if (!this.id) {\n return Promise.reject(new Error('The file id does not eixst.'));\n }\n var request = AVRequest(\n 'files',\n null,\n this.id,\n 'DELETE',\n null,\n options\n );\n return request;\n },\n\n /**\n * Request Qiniu upload token\n * @param {string} type\n * @return {Promise} Resolved with the response\n * @private\n */\n _fileToken(type, authOptions) {\n let name = this.attributes.name;\n\n let extName = extname(name);\n if (!extName && this._extName) {\n name += this._extName;\n extName = this._extName;\n }\n const data = {\n name,\n keep_file_name: authOptions.keepFileName,\n key: authOptions.key,\n ACL: this._acl,\n mime_type: type,\n metaData: this.attributes.metaData,\n };\n return AVRequest('fileTokens', null, null, 'POST', data, authOptions);\n },\n\n /**\n * @callback UploadProgressCallback\n * @param {XMLHttpRequestProgressEvent} event - The progress event with 'loaded' and 'total' attributes\n */\n /**\n * Saves the file to the AV cloud.\n * @param {AuthOptions} [options] AuthOptions plus:\n * @param {UploadProgressCallback} [options.onprogress] 文件上传进度,在 Node.js 中无效,回调参数说明详见 {@link UploadProgressCallback}。\n * @param {boolean} [options.keepFileName = false] 保留下载文件的文件名。\n * @param {string} [options.key] 指定文件的 key。设置该选项需要使用 masterKey\n * @return {Promise} Promise that is resolved when the save finishes.\n */\n save(options = {}) {\n if (this.id) {\n throw new Error('File is already saved.');\n }\n if (!this._previousSave) {\n if (this._data) {\n let mimeType = this.get('mime_type');\n this._previousSave = this._fileToken(mimeType, options).then(\n uploadInfo => {\n if (uploadInfo.mime_type) {\n mimeType = uploadInfo.mime_type;\n this.set('mime_type', mimeType);\n }\n this._token = uploadInfo.token;\n return Promise.resolve()\n .then(() => {\n const data = this._data;\n if (data && data.base64) {\n return parseBase64(data.base64, mimeType);\n }\n if (data && data.blob) {\n if (!data.blob.type && mimeType) {\n data.blob.type = mimeType;\n }\n if (!data.blob.name) {\n data.blob.name = this.get('name');\n }\n return data.blob;\n }\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return data;\n }\n throw new TypeError('malformed file data');\n })\n .then(data => {\n const _options = _.extend({}, options);\n // filter out download progress events\n if (options.onprogress) {\n _options.onprogress = event => {\n if (event.direction === 'download') return;\n return options.onprogress(event);\n };\n }\n switch (uploadInfo.provider) {\n case 's3':\n return s3(uploadInfo, data, this, _options);\n case 'qcloud':\n return cos(uploadInfo, data, this, _options);\n case 'qiniu':\n default:\n return qiniu(uploadInfo, data, this, _options);\n }\n })\n .then(tap(() => this._callback(true)), error => {\n this._callback(false);\n throw error;\n });\n }\n );\n } else if (\n this.attributes.url &&\n this.attributes.metaData.__source === 'external'\n ) {\n // external link file.\n const data = {\n name: this.attributes.name,\n ACL: this._acl,\n metaData: this.attributes.metaData,\n mime_type: this.mimeType,\n url: this.attributes.url,\n };\n this._previousSave = AVRequest(\n 'files',\n null,\n null,\n 'post',\n data,\n options\n ).then(response => {\n this.id = response.objectId;\n return this;\n });\n }\n }\n return this._previousSave;\n },\n\n _callback(success) {\n AVRequest('fileCallback', null, null, 'post', {\n token: this._token,\n result: success,\n }).catch(debug);\n delete this._token;\n delete this._data;\n },\n\n /**\n * fetch the file from server. If the server's representation of the\n * model differs from its current attributes, they will be overriden,\n * @param {Object} fetchOptions Optional options to set 'keys',\n * 'include' and 'includeACL' option.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the fetch\n * completes.\n */\n fetch(fetchOptions, options) {\n if (!this.id) {\n throw new Error('Cannot fetch unsaved file');\n }\n var request = AVRequest(\n 'files',\n null,\n this.id,\n 'GET',\n transformFetchOptions(fetchOptions),\n options\n );\n return request.then(this._finishFetch.bind(this));\n },\n _finishFetch(response) {\n var value = AV.Object.prototype.parse(response);\n value.attributes = {\n name: value.name,\n url: value.url,\n mime_type: value.mime_type,\n bucket: value.bucket,\n };\n value.attributes.metaData = value.metaData || {};\n value.id = value.objectId;\n // clean\n delete value.objectId;\n delete value.metaData;\n delete value.url;\n delete value.name;\n delete value.mime_type;\n delete value.bucket;\n _.extend(this, value);\n return this;\n },\n\n /**\n * Request file censor\n * @since 4.13.0\n * @return {Promise.
You won't normally call this method directly. It is recommended that\n * you use a subclass of AV.Object
instead, created by calling\n * extend
.
However, if you don't want to use a subclass, or aren't sure which\n * subclass is appropriate, you can use this form:
\n * var object = new AV.Object(\"ClassName\");\n *\n * That is basically equivalent to:
\n * var MyClass = AV.Object.extend(\"ClassName\");\n * var object = new MyClass();\n *\n *\n * @param {Object} attributes The initial set of data to store in the object.\n * @param {Object} options A set of Backbone-like options for creating the\n * object. The only option currently supported is \"collection\".\n * @see AV.Object.extend\n *\n * @class\n *\n *
The fundamental unit of AV data, which implements the Backbone Model\n * interface.
\n */\n AV.Object = function(attributes, options) {\n // Allow new AV.Object(\"ClassName\") as a shortcut to _create.\n if (_.isString(attributes)) {\n return AV.Object._create.apply(this, arguments);\n }\n\n attributes = attributes || {};\n if (options && options.parse) {\n attributes = this.parse(attributes);\n attributes = this._mergeMagicFields(attributes);\n }\n var defaults = getValue(this, 'defaults');\n if (defaults) {\n attributes = _.extend({}, defaults, attributes);\n }\n if (options && options.collection) {\n this.collection = options.collection;\n }\n\n this._serverData = {}; // The last known data for this object from cloud.\n this._opSetQueue = [{}]; // List of sets of changes to the data.\n this._flags = {};\n this.attributes = {}; // The best estimate of this's current data.\n\n this._hashedJSON = {}; // Hash of values of containers at last save.\n this._escapedAttributes = {};\n this.cid = _.uniqueId('c');\n this.changed = {};\n this._silent = {};\n this._pending = {};\n this.set(attributes, { silent: true });\n this.changed = {};\n this._silent = {};\n this._pending = {};\n this._hasData = true;\n this._previousAttributes = _.clone(this.attributes);\n this.initialize.apply(this, arguments);\n };\n\n /**\n * @lends AV.Object.prototype\n * @property {String} id The objectId of the AV Object.\n */\n\n /**\n * Saves the given list of AV.Object.\n * If any error is encountered, stops and calls the error handler.\n *\n * @example\n * AV.Object.saveAll([object1, object2, ...]).then(function(list) {\n * // All the objects were saved.\n * }, function(error) {\n * // An error occurred while saving one of the objects.\n * });\n *\n * @param {Array} list A list ofAV.Object
.\n */\n AV.Object.saveAll = function(list, options) {\n return AV.Object._deepSaveAsync(list, null, options);\n };\n\n /**\n * Fetch the given list of AV.Object.\n *\n * @param {AV.Object[]} objects A list of AV.Object
\n * @param {AuthOptions} options\n * @return {Promise.AV.Object
, updated\n */\n\n AV.Object.fetchAll = (objects, options) =>\n Promise.resolve()\n .then(() =>\n _request(\n 'batch',\n null,\n null,\n 'POST',\n {\n requests: _.map(objects, object => {\n if (!object.className)\n throw new Error('object must have className to fetch');\n if (!object.id) throw new Error('object must have id to fetch');\n if (object.dirty())\n throw new Error('object is modified but not saved');\n return {\n method: 'GET',\n path: `/1.1/classes/${object.className}/${object.id}`,\n };\n }),\n },\n options\n )\n )\n .then(function(response) {\n const results = _.map(objects, function(object, i) {\n if (response[i].success) {\n const fetchedAttrs = object.parse(response[i].success);\n object._cleanupUnsetKeys(fetchedAttrs);\n object._finishFetch(fetchedAttrs);\n return object;\n }\n if (response[i].success === null) {\n return new AVError(AVError.OBJECT_NOT_FOUND, 'Object not found.');\n }\n return new AVError(response[i].error.code, response[i].error.error);\n });\n return handleBatchResults(results);\n });\n\n // Attach all inheritable methods to the AV.Object prototype.\n _.extend(\n AV.Object.prototype,\n AV.Events,\n /** @lends AV.Object.prototype */ {\n _fetchWhenSave: false,\n\n /**\n * Initialize is an empty function by default. Override it with your own\n * initialization logic.\n */\n initialize: function() {},\n\n /**\n * Set whether to enable fetchWhenSave option when updating object.\n * When set true, SDK would fetch the latest object after saving.\n * Default is false.\n *\n * @deprecated use AV.Object#save with options.fetchWhenSave instead\n * @param {boolean} enable true to enable fetchWhenSave option.\n */\n fetchWhenSave: function(enable) {\n console.warn(\n 'AV.Object#fetchWhenSave is deprecated, use AV.Object#save with options.fetchWhenSave instead.'\n );\n if (!_.isBoolean(enable)) {\n throw new Error('Expect boolean value for fetchWhenSave');\n }\n this._fetchWhenSave = enable;\n },\n\n /**\n * Returns the object's objectId.\n * @return {String} the objectId.\n */\n getObjectId: function() {\n return this.id;\n },\n\n /**\n * Returns the object's createdAt attribute.\n * @return {Date}\n */\n getCreatedAt: function() {\n return this.createdAt;\n },\n\n /**\n * Returns the object's updatedAt attribute.\n * @return {Date}\n */\n getUpdatedAt: function() {\n return this.updatedAt;\n },\n\n /**\n * Returns a JSON version of the object.\n * @return {Object}\n */\n toJSON: function(key, holder, seenObjects = []) {\n return this._toFullJSON(seenObjects, false);\n },\n\n /**\n * Returns a JSON version of the object with meta data.\n * Inverse to {@link AV.parseJSON}\n * @since 3.0.0\n * @return {Object}\n */\n toFullJSON(seenObjects = []) {\n return this._toFullJSON(seenObjects);\n },\n\n _toFullJSON: function(seenObjects, full = true) {\n var json = _.clone(this.attributes);\n if (_.isArray(seenObjects)) {\n var newSeenObjects = seenObjects.concat(this);\n }\n AV._objectEach(json, function(val, key) {\n json[key] = AV._encode(val, newSeenObjects, undefined, full);\n });\n AV._objectEach(this._operations, function(val, key) {\n json[key] = val;\n });\n\n if (_.has(this, 'id')) {\n json.objectId = this.id;\n }\n ['createdAt', 'updatedAt'].forEach(key => {\n if (_.has(this, key)) {\n const val = this[key];\n json[key] = _.isDate(val) ? val.toJSON() : val;\n }\n });\n if (full) {\n json.__type = 'Object';\n if (_.isArray(seenObjects) && seenObjects.length)\n json.__type = 'Pointer';\n json.className = this.className;\n }\n return json;\n },\n\n /**\n * Updates _hashedJSON to reflect the current state of this object.\n * Adds any changed hash values to the set of pending changes.\n * @private\n */\n _refreshCache: function() {\n var self = this;\n if (self._refreshingCache) {\n return;\n }\n self._refreshingCache = true;\n AV._objectEach(this.attributes, function(value, key) {\n if (value instanceof AV.Object) {\n value._refreshCache();\n } else if (_.isObject(value)) {\n if (self._resetCacheForKey(key)) {\n self.set(key, new AV.Op.Set(value), { silent: true });\n }\n }\n });\n delete self._refreshingCache;\n },\n\n /**\n * Returns true if this object has been modified since its last\n * save/refresh. If an attribute is specified, it returns true only if that\n * particular attribute has been modified since the last save/refresh.\n * @param {String} attr An attribute name (optional).\n * @return {Boolean}\n */\n dirty: function(attr) {\n this._refreshCache();\n\n var currentChanges = _.last(this._opSetQueue);\n\n if (attr) {\n return currentChanges[attr] ? true : false;\n }\n if (!this.id) {\n return true;\n }\n if (_.keys(currentChanges).length > 0) {\n return true;\n }\n return false;\n },\n\n /**\n * Returns the keys of the modified attribute since its last save/refresh.\n * @return {String[]}\n */\n dirtyKeys: function() {\n this._refreshCache();\n var currentChanges = _.last(this._opSetQueue);\n return _.keys(currentChanges);\n },\n\n /**\n * Gets a Pointer referencing this Object.\n * @private\n */\n _toPointer: function() {\n // if (!this.id) {\n // throw new Error(\"Can't serialize an unsaved AV.Object\");\n // }\n return {\n __type: 'Pointer',\n className: this.className,\n objectId: this.id,\n };\n },\n\n /**\n * Gets the value of an attribute.\n * @param {String} attr The string name of an attribute.\n */\n get: function(attr) {\n switch (attr) {\n case 'objectId':\n return this.id;\n case 'createdAt':\n case 'updatedAt':\n return this[attr];\n default:\n return this.attributes[attr];\n }\n },\n\n /**\n * Gets a relation on the given class for the attribute.\n * @param {String} attr The attribute to get the relation for.\n * @return {AV.Relation}\n */\n relation: function(attr) {\n var value = this.get(attr);\n if (value) {\n if (!(value instanceof AV.Relation)) {\n throw new Error('Called relation() on non-relation field ' + attr);\n }\n value._ensureParentAndKey(this, attr);\n return value;\n } else {\n return new AV.Relation(this, attr);\n }\n },\n\n /**\n * Gets the HTML-escaped value of an attribute.\n */\n escape: function(attr) {\n var html = this._escapedAttributes[attr];\n if (html) {\n return html;\n }\n var val = this.attributes[attr];\n var escaped;\n if (isNullOrUndefined(val)) {\n escaped = '';\n } else {\n escaped = _.escape(val.toString());\n }\n this._escapedAttributes[attr] = escaped;\n return escaped;\n },\n\n /**\n * Returns true
if the attribute contains a value that is not\n * null or undefined.\n * @param {String} attr The string name of the attribute.\n * @return {Boolean}\n */\n has: function(attr) {\n return !isNullOrUndefined(this.attributes[attr]);\n },\n\n /**\n * Pulls \"special\" fields like objectId, createdAt, etc. out of attrs\n * and puts them on \"this\" directly. Removes them from attrs.\n * @param attrs - A dictionary with the data for this AV.Object.\n * @private\n */\n _mergeMagicFields: function(attrs) {\n // Check for changes of magic fields.\n var model = this;\n var specialFields = ['objectId', 'createdAt', 'updatedAt'];\n AV._arrayEach(specialFields, function(attr) {\n if (attrs[attr]) {\n if (attr === 'objectId') {\n model.id = attrs[attr];\n } else if (\n (attr === 'createdAt' || attr === 'updatedAt') &&\n !_.isDate(attrs[attr])\n ) {\n model[attr] = AV._parseDate(attrs[attr]);\n } else {\n model[attr] = attrs[attr];\n }\n delete attrs[attr];\n }\n });\n return attrs;\n },\n\n /**\n * Returns the json to be sent to the server.\n * @private\n */\n _startSave: function() {\n this._opSetQueue.push({});\n },\n\n /**\n * Called when a save fails because of an error. Any changes that were part\n * of the save need to be merged with changes made after the save. This\n * might throw an exception is you do conflicting operations. For example,\n * if you do:\n * object.set(\"foo\", \"bar\");\n * object.set(\"invalid field name\", \"baz\");\n * object.save();\n * object.increment(\"foo\");\n * then this will throw when the save fails and the client tries to merge\n * \"bar\" with the +1.\n * @private\n */\n _cancelSave: function() {\n var failedChanges = _.first(this._opSetQueue);\n this._opSetQueue = _.rest(this._opSetQueue);\n var nextChanges = _.first(this._opSetQueue);\n AV._objectEach(failedChanges, function(op, key) {\n var op1 = failedChanges[key];\n var op2 = nextChanges[key];\n if (op1 && op2) {\n nextChanges[key] = op2._mergeWithPrevious(op1);\n } else if (op1) {\n nextChanges[key] = op1;\n }\n });\n this._saving = this._saving - 1;\n },\n\n /**\n * Called when a save completes successfully. This merges the changes that\n * were saved into the known server data, and overrides it with any data\n * sent directly from the server.\n * @private\n */\n _finishSave: function(serverData) {\n // Grab a copy of any object referenced by this object. These instances\n // may have already been fetched, and we don't want to lose their data.\n // Note that doing it like this means we will unify separate copies of the\n // same object, but that's a risk we have to take.\n var fetchedObjects = {};\n AV._traverse(this.attributes, function(object) {\n if (object instanceof AV.Object && object.id && object._hasData) {\n fetchedObjects[object.id] = object;\n }\n });\n\n var savedChanges = _.first(this._opSetQueue);\n this._opSetQueue = _.rest(this._opSetQueue);\n this._applyOpSet(savedChanges, this._serverData);\n this._mergeMagicFields(serverData);\n var self = this;\n AV._objectEach(serverData, function(value, key) {\n self._serverData[key] = AV._decode(value, key);\n\n // Look for any objects that might have become unfetched and fix them\n // by replacing their values with the previously observed values.\n var fetched = AV._traverse(self._serverData[key], function(object) {\n if (object instanceof AV.Object && fetchedObjects[object.id]) {\n return fetchedObjects[object.id];\n }\n });\n if (fetched) {\n self._serverData[key] = fetched;\n }\n });\n this._rebuildAllEstimatedData();\n const opSetQueue = this._opSetQueue.map(_.clone);\n this._refreshCache();\n this._opSetQueue = opSetQueue;\n this._saving = this._saving - 1;\n },\n\n /**\n * Called when a fetch or login is complete to set the known server data to\n * the given object.\n * @private\n */\n _finishFetch: function(serverData, hasData) {\n // Clear out any changes the user might have made previously.\n this._opSetQueue = [{}];\n\n // Bring in all the new server data.\n this._mergeMagicFields(serverData);\n var self = this;\n AV._objectEach(serverData, function(value, key) {\n self._serverData[key] = AV._decode(value, key);\n });\n\n // Refresh the attributes.\n this._rebuildAllEstimatedData();\n\n // Clear out the cache of mutable containers.\n this._refreshCache();\n this._opSetQueue = [{}];\n\n this._hasData = hasData;\n },\n\n /**\n * Applies the set of AV.Op in opSet to the object target.\n * @private\n */\n _applyOpSet: function(opSet, target) {\n var self = this;\n AV._objectEach(opSet, function(change, key) {\n const [value, actualTarget, actualKey] = findValue(target, key);\n setValue(target, key, change._estimate(value, self, key));\n if (actualTarget && actualTarget[actualKey] === AV.Op._UNSET) {\n delete actualTarget[actualKey];\n }\n });\n },\n\n /**\n * Replaces the cached value for key with the current value.\n * Returns true if the new value is different than the old value.\n * @private\n */\n _resetCacheForKey: function(key) {\n var value = this.attributes[key];\n if (\n _.isObject(value) &&\n !(value instanceof AV.Object) &&\n !(value instanceof AV.File)\n ) {\n var json = JSON.stringify(recursiveToPointer(value));\n if (this._hashedJSON[key] !== json) {\n var wasSet = !!this._hashedJSON[key];\n this._hashedJSON[key] = json;\n return wasSet;\n }\n }\n return false;\n },\n\n /**\n * Populates attributes[key] by starting with the last known data from the\n * server, and applying all of the local changes that have been made to that\n * key since then.\n * @private\n */\n _rebuildEstimatedDataForKey: function(key) {\n var self = this;\n delete this.attributes[key];\n if (this._serverData[key]) {\n this.attributes[key] = this._serverData[key];\n }\n AV._arrayEach(this._opSetQueue, function(opSet) {\n var op = opSet[key];\n if (op) {\n const [value, actualTarget, actualKey, firstKey] = findValue(\n self.attributes,\n key\n );\n setValue(self.attributes, key, op._estimate(value, self, key));\n if (actualTarget && actualTarget[actualKey] === AV.Op._UNSET) {\n delete actualTarget[actualKey];\n }\n self._resetCacheForKey(firstKey);\n }\n });\n },\n\n /**\n * Populates attributes by starting with the last known data from the\n * server, and applying all of the local changes that have been made since\n * then.\n * @private\n */\n _rebuildAllEstimatedData: function() {\n var self = this;\n\n var previousAttributes = _.clone(this.attributes);\n\n this.attributes = _.clone(this._serverData);\n AV._arrayEach(this._opSetQueue, function(opSet) {\n self._applyOpSet(opSet, self.attributes);\n AV._objectEach(opSet, function(op, key) {\n self._resetCacheForKey(key);\n });\n });\n\n // Trigger change events for anything that changed because of the fetch.\n AV._objectEach(previousAttributes, function(oldValue, key) {\n if (self.attributes[key] !== oldValue) {\n self.trigger('change:' + key, self, self.attributes[key], {});\n }\n });\n AV._objectEach(this.attributes, function(newValue, key) {\n if (!_.has(previousAttributes, key)) {\n self.trigger('change:' + key, self, newValue, {});\n }\n });\n },\n\n /**\n * Sets a hash of model attributes on the object, firing\n * \"change\"
unless you choose to silence it.\n *\n * You can call it with an object containing keys and values, or with one\n * key and value. For example:
\n *\n * @example\n * gameTurn.set({\n * player: player1,\n * diceRoll: 2\n * });\n *\n * game.set(\"currentPlayer\", player2);\n *\n * game.set(\"finished\", true);\n *\n * @param {String} key The key to set.\n * @param {Any} value The value to give it.\n * @param {Object} [options]\n * @param {Boolean} [options.silent]\n * @return {AV.Object} self if succeeded, throws if the value is not valid.\n * @see AV.Object#validate\n */\n set: function(key, value, options) {\n var attrs;\n if (_.isObject(key) || isNullOrUndefined(key)) {\n attrs = _.mapObject(key, function(v, k) {\n checkReservedKey(k);\n return AV._decode(v, k);\n });\n options = value;\n } else {\n attrs = {};\n checkReservedKey(key);\n attrs[key] = AV._decode(value, key);\n }\n\n // Extract attributes and options.\n options = options || {};\n if (!attrs) {\n return this;\n }\n if (attrs instanceof AV.Object) {\n attrs = attrs.attributes;\n }\n\n // If the unset option is used, every attribute should be a Unset.\n if (options.unset) {\n AV._objectEach(attrs, function(unused_value, key) {\n attrs[key] = new AV.Op.Unset();\n });\n }\n\n // Apply all the attributes to get the estimated values.\n var dataToValidate = _.clone(attrs);\n var self = this;\n AV._objectEach(dataToValidate, function(value, key) {\n if (value instanceof AV.Op) {\n dataToValidate[key] = value._estimate(\n self.attributes[key],\n self,\n key\n );\n if (dataToValidate[key] === AV.Op._UNSET) {\n delete dataToValidate[key];\n }\n }\n });\n\n // Run validation.\n this._validate(attrs, options);\n\n options.changes = {};\n var escaped = this._escapedAttributes;\n\n // Update attributes.\n AV._arrayEach(_.keys(attrs), function(attr) {\n var val = attrs[attr];\n\n // If this is a relation object we need to set the parent correctly,\n // since the location where it was parsed does not have access to\n // this object.\n if (val instanceof AV.Relation) {\n val.parent = self;\n }\n\n if (!(val instanceof AV.Op)) {\n val = new AV.Op.Set(val);\n }\n\n // See if this change will actually have any effect.\n var isRealChange = true;\n if (\n val instanceof AV.Op.Set &&\n _.isEqual(self.attributes[attr], val.value)\n ) {\n isRealChange = false;\n }\n\n if (isRealChange) {\n delete escaped[attr];\n if (options.silent) {\n self._silent[attr] = true;\n } else {\n options.changes[attr] = true;\n }\n }\n\n var currentChanges = _.last(self._opSetQueue);\n currentChanges[attr] = val._mergeWithPrevious(currentChanges[attr]);\n self._rebuildEstimatedDataForKey(attr);\n\n if (isRealChange) {\n self.changed[attr] = self.attributes[attr];\n if (!options.silent) {\n self._pending[attr] = true;\n }\n } else {\n delete self.changed[attr];\n delete self._pending[attr];\n }\n });\n\n if (!options.silent) {\n this.change(options);\n }\n return this;\n },\n\n /**\n * Remove an attribute from the model, firing\"change\"
unless\n * you choose to silence it. This is a noop if the attribute doesn't\n * exist.\n * @param key {String} The key.\n */\n unset: function(attr, options) {\n options = options || {};\n options.unset = true;\n return this.set(attr, null, options);\n },\n\n /**\n * Atomically increments the value of the given attribute the next time the\n * object is saved. If no amount is specified, 1 is used by default.\n *\n * @param key {String} The key.\n * @param amount {Number} The amount to increment by.\n */\n increment: function(attr, amount) {\n if (_.isUndefined(amount) || _.isNull(amount)) {\n amount = 1;\n }\n return this.set(attr, new AV.Op.Increment(amount));\n },\n\n /**\n * Atomically add an object to the end of the array associated with a given\n * key.\n * @param key {String} The key.\n * @param item {} The item to add.\n */\n add: function(attr, item) {\n return this.set(attr, new AV.Op.Add(ensureArray(item)));\n },\n\n /**\n * Atomically add an object to the array associated with a given key, only\n * if it is not already present in the array. The position of the insert is\n * not guaranteed.\n *\n * @param key {String} The key.\n * @param item {} The object to add.\n */\n addUnique: function(attr, item) {\n return this.set(attr, new AV.Op.AddUnique(ensureArray(item)));\n },\n\n /**\n * Atomically remove all instances of an object from the array associated\n * with a given key.\n *\n * @param key {String} The key.\n * @param item {} The object to remove.\n */\n remove: function(attr, item) {\n return this.set(attr, new AV.Op.Remove(ensureArray(item)));\n },\n\n /**\n * Atomically apply a \"bit and\" operation on the value associated with a\n * given key.\n *\n * @param key {String} The key.\n * @param value {Number} The value to apply.\n */\n bitAnd(attr, value) {\n return this.set(attr, new AV.Op.BitAnd(value));\n },\n\n /**\n * Atomically apply a \"bit or\" operation on the value associated with a\n * given key.\n *\n * @param key {String} The key.\n * @param value {Number} The value to apply.\n */\n bitOr(attr, value) {\n return this.set(attr, new AV.Op.BitOr(value));\n },\n\n /**\n * Atomically apply a \"bit xor\" operation on the value associated with a\n * given key.\n *\n * @param key {String} The key.\n * @param value {Number} The value to apply.\n */\n bitXor(attr, value) {\n return this.set(attr, new AV.Op.BitXor(value));\n },\n\n /**\n * Returns an instance of a subclass of AV.Op describing what kind of\n * modification has been performed on this field since the last time it was\n * saved. For example, after calling object.increment(\"x\"), calling\n * object.op(\"x\") would return an instance of AV.Op.Increment.\n *\n * @param key {String} The key.\n * @returns {AV.Op} The operation, or undefined if none.\n */\n op: function(attr) {\n return _.last(this._opSetQueue)[attr];\n },\n\n /**\n * Clear all attributes on the model, firing \"change\"
unless\n * you choose to silence it.\n */\n clear: function(options) {\n options = options || {};\n options.unset = true;\n var keysToClear = _.extend(this.attributes, this._operations);\n return this.set(keysToClear, options);\n },\n\n /**\n * Clears any (or specific) changes to the model made since the last save.\n * @param {string|string[]} [keys] specify keys to revert.\n */\n revert(keys) {\n const lastOp = _.last(this._opSetQueue);\n const _keys = ensureArray(keys || _.keys(lastOp));\n _keys.forEach(key => {\n delete lastOp[key];\n });\n this._rebuildAllEstimatedData();\n return this;\n },\n\n /**\n * Returns a JSON-encoded set of operations to be sent with the next save\n * request.\n * @private\n */\n _getSaveJSON: function() {\n var json = _.clone(_.first(this._opSetQueue));\n AV._objectEach(json, function(op, key) {\n json[key] = op.toJSON();\n });\n return json;\n },\n\n /**\n * Returns true if this object can be serialized for saving.\n * @private\n */\n _canBeSerialized: function() {\n return AV.Object._canBeSerializedAsValue(this.attributes);\n },\n\n /**\n * Fetch the model from the server. If the server's representation of the\n * model differs from its current attributes, they will be overriden,\n * triggering a \"change\"
event.\n * @param {Object} fetchOptions Optional options to set 'keys',\n * 'include' and 'includeACL' option.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the fetch\n * completes.\n */\n fetch: function(fetchOptions = {}, options) {\n if (!this.id) {\n throw new Error('Cannot fetch unsaved object');\n }\n var self = this;\n var request = _request(\n 'classes',\n this.className,\n this.id,\n 'GET',\n transformFetchOptions(fetchOptions),\n options\n );\n return request.then(function(response) {\n const fetchedAttrs = self.parse(response);\n self._cleanupUnsetKeys(\n fetchedAttrs,\n fetchOptions.keys\n ? ensureArray(fetchOptions.keys)\n .join(',')\n .split(',')\n : undefined\n );\n self._finishFetch(fetchedAttrs, true);\n return self;\n });\n },\n\n _cleanupUnsetKeys(fetchedAttrs, fetchedKeys = _.keys(this._serverData)) {\n _.forEach(fetchedKeys, key => {\n if (fetchedAttrs[key] === undefined) delete this._serverData[key];\n });\n },\n\n /**\n * Set a hash of model attributes, and save the model to the server.\n * updatedAt will be updated when the request returns.\n * You can either call it as:\n * object.save();\n * or
\n * object.save(null, options);\n * or
\n * object.save(attrs, options);\n * or
\n * object.save(key, value, options);\n *\n * @example\n * gameTurn.save({\n * player: \"Jake Cutter\",\n * diceRoll: 2\n * }).then(function(gameTurnAgain) {\n * // The save was successful.\n * }, function(error) {\n * // The save failed. Error is an instance of AVError.\n * });\n *\n * @param {AuthOptions} options AuthOptions plus:\n * @param {Boolean} options.fetchWhenSave fetch and update object after save succeeded\n * @param {AV.Query} options.query Save object only when it matches the query\n * @return {Promise} A promise that is fulfilled when the save\n * completes.\n * @see AVError\n */\n save: function(arg1, arg2, arg3) {\n var attrs, current, options;\n if (_.isObject(arg1) || isNullOrUndefined(arg1)) {\n attrs = arg1;\n options = arg2;\n } else {\n attrs = {};\n attrs[arg1] = arg2;\n options = arg3;\n }\n\n options = _.clone(options) || {};\n if (options.wait) {\n current = _.clone(this.attributes);\n }\n\n var setOptions = _.clone(options) || {};\n if (setOptions.wait) {\n setOptions.silent = true;\n }\n if (attrs) {\n this.set(attrs, setOptions);\n }\n\n var model = this;\n\n var unsavedChildren = [];\n var unsavedFiles = [];\n AV.Object._findUnsavedChildren(model, unsavedChildren, unsavedFiles);\n if (unsavedChildren.length + unsavedFiles.length > 1) {\n return AV.Object._deepSaveAsync(this, model, options);\n }\n\n this._startSave();\n this._saving = (this._saving || 0) + 1;\n\n this._allPreviousSaves = this._allPreviousSaves || Promise.resolve();\n this._allPreviousSaves = this._allPreviousSaves\n .catch(e => {})\n .then(function() {\n var method = model.id ? 'PUT' : 'POST';\n\n var json = model._getSaveJSON();\n var query = {};\n\n if (model._fetchWhenSave || options.fetchWhenSave) {\n query['new'] = 'true';\n }\n // user login option\n if (options._failOnNotExist) {\n query.failOnNotExist = 'true';\n }\n\n if (options.query) {\n var queryParams;\n if (typeof options.query._getParams === 'function') {\n queryParams = options.query._getParams();\n if (queryParams) {\n query.where = queryParams.where;\n }\n }\n if (!query.where) {\n var error = new Error('options.query is not an AV.Query');\n throw error;\n }\n }\n\n _.extend(json, model._flags);\n\n var route = 'classes';\n var className = model.className;\n if (model.className === '_User' && !model.id) {\n // Special-case user sign-up.\n route = 'users';\n className = null;\n }\n //hook makeRequest in options.\n var makeRequest = options._makeRequest || _request;\n var requestPromise = makeRequest(\n route,\n className,\n model.id,\n method,\n json,\n options,\n query\n );\n\n requestPromise = requestPromise.then(\n function(resp) {\n var serverAttrs = model.parse(resp);\n if (options.wait) {\n serverAttrs = _.extend(attrs || {}, serverAttrs);\n }\n model._finishSave(serverAttrs);\n if (options.wait) {\n model.set(current, setOptions);\n }\n return model;\n },\n function(error) {\n model._cancelSave();\n throw error;\n }\n );\n\n return requestPromise;\n });\n return this._allPreviousSaves;\n },\n\n /**\n * Destroy this model on the server if it was already persisted.\n * Optimistically removes the model from its collection, if it has one.\n * @param {AuthOptions} options AuthOptions plus:\n * @param {Boolean} [options.wait] wait for the server to respond\n * before removal.\n *\n * @return {Promise} A promise that is fulfilled when the destroy\n * completes.\n */\n destroy: function(options) {\n options = options || {};\n var model = this;\n\n var triggerDestroy = function() {\n model.trigger('destroy', model, model.collection, options);\n };\n\n if (!this.id) {\n return triggerDestroy();\n }\n\n if (!options.wait) {\n triggerDestroy();\n }\n\n var request = _request(\n 'classes',\n this.className,\n this.id,\n 'DELETE',\n this._flags,\n options\n );\n return request.then(function() {\n if (options.wait) {\n triggerDestroy();\n }\n return model;\n });\n },\n\n /**\n * Converts a response into the hash of attributes to be set on the model.\n * @ignore\n */\n parse: function(resp) {\n var output = _.clone(resp);\n ['createdAt', 'updatedAt'].forEach(function(key) {\n if (output[key]) {\n output[key] = AV._parseDate(output[key]);\n }\n });\n if (output.createdAt && !output.updatedAt) {\n output.updatedAt = output.createdAt;\n }\n return output;\n },\n\n /**\n * Creates a new model with identical attributes to this one.\n * @return {AV.Object}\n */\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n /**\n * Returns true if this object has never been saved to AV.\n * @return {Boolean}\n */\n isNew: function() {\n return !this.id;\n },\n\n /**\n * Call this method to manually fire a `\"change\"` event for this model and\n * a `\"change:attribute\"` event for each changed attribute.\n * Calling this will cause all objects observing the model to update.\n */\n change: function(options) {\n options = options || {};\n var changing = this._changing;\n this._changing = true;\n\n // Silent changes become pending changes.\n var self = this;\n AV._objectEach(this._silent, function(attr) {\n self._pending[attr] = true;\n });\n\n // Silent changes are triggered.\n var changes = _.extend({}, options.changes, this._silent);\n this._silent = {};\n AV._objectEach(changes, function(unused_value, attr) {\n self.trigger('change:' + attr, self, self.get(attr), options);\n });\n if (changing) {\n return this;\n }\n\n // This is to get around lint not letting us make a function in a loop.\n var deleteChanged = function(value, attr) {\n if (!self._pending[attr] && !self._silent[attr]) {\n delete self.changed[attr];\n }\n };\n\n // Continue firing `\"change\"` events while there are pending changes.\n while (!_.isEmpty(this._pending)) {\n this._pending = {};\n this.trigger('change', this, options);\n // Pending and silent changes still remain.\n AV._objectEach(this.changed, deleteChanged);\n self._previousAttributes = _.clone(this.attributes);\n }\n\n this._changing = false;\n return this;\n },\n\n /**\n * Gets the previous value of an attribute, recorded at the time the last\n *
\"change\"
event was fired.\n * @param {String} attr Name of the attribute to get.\n */\n previous: function(attr) {\n if (!arguments.length || !this._previousAttributes) {\n return null;\n }\n return this._previousAttributes[attr];\n },\n\n /**\n * Gets all of the attributes of the model at the time of the previous\n * \"change\"
event.\n * @return {Object}\n */\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n /**\n * Checks if the model is currently in a valid state. It's only possible to\n * get into an *invalid* state if you're using silent changes.\n * @return {Boolean}\n */\n isValid: function() {\n try {\n this.validate(this.attributes);\n } catch (error) {\n return false;\n }\n return true;\n },\n\n /**\n * You should not call this function directly unless you subclass\n * AV.Object
, in which case you can override this method\n * to provide additional validation on set
and\n * save
. Your implementation should throw an Error if\n * the attrs is invalid\n *\n * @param {Object} attrs The current data to validate.\n * @see AV.Object#set\n */\n validate: function(attrs) {\n if (_.has(attrs, 'ACL') && !(attrs.ACL instanceof AV.ACL)) {\n throw new AVError(AVError.OTHER_CAUSE, 'ACL must be a AV.ACL.');\n }\n },\n\n /**\n * Run validation against a set of incoming attributes, returning `true`\n * if all is well. If a specific `error` callback has been passed,\n * call that instead of firing the general `\"error\"` event.\n * @private\n */\n _validate: function(attrs, options) {\n if (options.silent || !this.validate) {\n return;\n }\n attrs = _.extend({}, this.attributes, attrs);\n this.validate(attrs);\n },\n\n /**\n * Returns the ACL for this object.\n * @returns {AV.ACL} An instance of AV.ACL.\n * @see AV.Object#get\n */\n getACL: function() {\n return this.get('ACL');\n },\n\n /**\n * Sets the ACL to be used for this object.\n * @param {AV.ACL} acl An instance of AV.ACL.\n * @param {Object} options Optional Backbone-like options object to be\n * passed in to set.\n * @return {AV.Object} self\n * @see AV.Object#set\n */\n setACL: function(acl, options) {\n return this.set('ACL', acl, options);\n },\n\n disableBeforeHook: function() {\n this.ignoreHook('beforeSave');\n this.ignoreHook('beforeUpdate');\n this.ignoreHook('beforeDelete');\n },\n\n disableAfterHook: function() {\n this.ignoreHook('afterSave');\n this.ignoreHook('afterUpdate');\n this.ignoreHook('afterDelete');\n },\n\n ignoreHook: function(hookName) {\n if (\n !_.contains(\n [\n 'beforeSave',\n 'afterSave',\n 'beforeUpdate',\n 'afterUpdate',\n 'beforeDelete',\n 'afterDelete',\n ],\n hookName\n )\n ) {\n throw new Error('Unsupported hookName: ' + hookName);\n }\n\n if (!AV.hookKey) {\n throw new Error('ignoreHook required hookKey');\n }\n\n if (!this._flags.__ignore_hooks) {\n this._flags.__ignore_hooks = [];\n }\n\n this._flags.__ignore_hooks.push(hookName);\n },\n }\n );\n\n /**\n * Creates an instance of a subclass of AV.Object for the give classname\n * and id.\n * @param {String|Function} class the className or a subclass of AV.Object.\n * @param {String} id The object id of this model.\n * @return {AV.Object} A new subclass instance of AV.Object.\n */\n AV.Object.createWithoutData = (klass, id, hasData) => {\n let _klass;\n if (_.isString(klass)) {\n _klass = AV.Object._getSubclass(klass);\n } else if (klass.prototype && klass.prototype instanceof AV.Object) {\n _klass = klass;\n } else {\n throw new Error('class must be a string or a subclass of AV.Object.');\n }\n if (!id) {\n throw new TypeError('The objectId must be provided');\n }\n const object = new _klass();\n object.id = id;\n object._hasData = hasData;\n return object;\n };\n /**\n * Delete objects in batch.\n * @param {AV.Object[]} objects The AV.Object
array to be deleted.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the save\n * completes.\n */\n AV.Object.destroyAll = function(objects, options = {}) {\n if (!objects || objects.length === 0) {\n return Promise.resolve();\n }\n const objectsByClassNameAndFlags = _.groupBy(objects, object =>\n JSON.stringify({\n className: object.className,\n flags: object._flags,\n })\n );\n const body = {\n requests: _.map(objectsByClassNameAndFlags, objects => {\n const ids = _.map(objects, 'id').join(',');\n return {\n method: 'DELETE',\n path: `/1.1/classes/${objects[0].className}/${ids}`,\n body: objects[0]._flags,\n };\n }),\n };\n return _request('batch', null, null, 'POST', body, options).then(\n response => {\n const firstError = _.find(response, result => !result.success);\n if (firstError)\n throw new AVError(firstError.error.code, firstError.error.error);\n return undefined;\n }\n );\n };\n\n /**\n * Returns the appropriate subclass for making new instances of the given\n * className string.\n * @private\n */\n AV.Object._getSubclass = function(className) {\n if (!_.isString(className)) {\n throw new Error('AV.Object._getSubclass requires a string argument.');\n }\n var ObjectClass = AV.Object._classMap[className];\n if (!ObjectClass) {\n ObjectClass = AV.Object.extend(className);\n AV.Object._classMap[className] = ObjectClass;\n }\n return ObjectClass;\n };\n\n /**\n * Creates an instance of a subclass of AV.Object for the given classname.\n * @private\n */\n AV.Object._create = function(className, attributes, options) {\n var ObjectClass = AV.Object._getSubclass(className);\n return new ObjectClass(attributes, options);\n };\n\n // Set up a map of className to class so that we can create new instances of\n // AV Objects from JSON automatically.\n AV.Object._classMap = {};\n\n AV.Object._extend = AV._extend;\n\n /**\n * Creates a new model with defined attributes,\n * It's the same with\n * \n * new AV.Object(attributes, options);\n *\n * @param {Object} attributes The initial set of data to store in the object.\n * @param {Object} options A set of Backbone-like options for creating the\n * object. The only option currently supported is \"collection\".\n * @return {AV.Object}\n * @since v0.4.4\n * @see AV.Object\n * @see AV.Object.extend\n */\n AV.Object['new'] = function(attributes, options) {\n return new AV.Object(attributes, options);\n };\n\n /**\n * Creates a new subclass of AV.Object for the given AV class name.\n *\n *
Every extension of a AV class will inherit from the most recent\n * previous extension of that class. When a AV.Object is automatically\n * created by parsing JSON, it will use the most recent extension of that\n * class.
\n *\n * @example\n * var MyClass = AV.Object.extend(\"MyClass\", {\n * // Instance properties\n * }, {\n * // Class properties\n * });\n *\n * @param {String} className The name of the AV class backing this model.\n * @param {Object} protoProps Instance properties to add to instances of the\n * class returned from this method.\n * @param {Object} classProps Class properties to add the class returned from\n * this method.\n * @return {Class} A new subclass of AV.Object.\n */\n AV.Object.extend = function(className, protoProps, classProps) {\n // Handle the case with only two args.\n if (!_.isString(className)) {\n if (className && _.has(className, 'className')) {\n return AV.Object.extend(className.className, className, protoProps);\n } else {\n throw new Error(\n \"AV.Object.extend's first argument should be the className.\"\n );\n }\n }\n\n // If someone tries to subclass \"User\", coerce it to the right type.\n if (className === 'User') {\n className = '_User';\n }\n\n var NewClassObject = null;\n if (_.has(AV.Object._classMap, className)) {\n var OldClassObject = AV.Object._classMap[className];\n // This new subclass has been told to extend both from \"this\" and from\n // OldClassObject. This is multiple inheritance, which isn't supported.\n // For now, let's just pick one.\n if (protoProps || classProps) {\n NewClassObject = OldClassObject._extend(protoProps, classProps);\n } else {\n return OldClassObject;\n }\n } else {\n protoProps = protoProps || {};\n protoProps._className = className;\n NewClassObject = this._extend(protoProps, classProps);\n }\n // Extending a subclass should reuse the classname automatically.\n NewClassObject.extend = function(arg0) {\n if (_.isString(arg0) || (arg0 && _.has(arg0, 'className'))) {\n return AV.Object.extend.apply(NewClassObject, arguments);\n }\n var newArguments = [className].concat(_.toArray(arguments));\n return AV.Object.extend.apply(NewClassObject, newArguments);\n };\n // Add the query property descriptor.\n Object.defineProperty(\n NewClassObject,\n 'query',\n Object.getOwnPropertyDescriptor(AV.Object, 'query')\n );\n NewClassObject['new'] = function(attributes, options) {\n return new NewClassObject(attributes, options);\n };\n AV.Object._classMap[className] = NewClassObject;\n return NewClassObject;\n };\n\n // ES6 class syntax support\n Object.defineProperty(AV.Object.prototype, 'className', {\n get: function() {\n const className =\n this._className ||\n this.constructor._LCClassName ||\n this.constructor.name;\n // If someone tries to subclass \"User\", coerce it to the right type.\n if (className === 'User') {\n return '_User';\n }\n return className;\n },\n });\n\n /**\n * Register a class.\n * If a subclass ofAV.Object
is defined with your own implement\n * rather then AV.Object.extend
, the subclass must be registered.\n * @param {Function} klass A subclass of AV.Object
\n * @param {String} [name] Specify the name of the class. Useful when the class might be uglified.\n * @example\n * class Person extend AV.Object {}\n * AV.Object.register(Person);\n */\n AV.Object.register = (klass, name) => {\n if (!(klass.prototype instanceof AV.Object)) {\n throw new Error('registered class is not a subclass of AV.Object');\n }\n const className = name || klass.name;\n if (!className.length) {\n throw new Error('registered class must be named');\n }\n if (name) {\n klass._LCClassName = name;\n }\n AV.Object._classMap[className] = klass;\n };\n\n /**\n * Get a new Query of the current class\n * @name query\n * @memberof AV.Object\n * @type AV.Query\n * @readonly\n * @since v3.1.0\n * @example\n * const Post = AV.Object.extend('Post');\n * Post.query.equalTo('author', 'leancloud').find().then();\n */\n Object.defineProperty(AV.Object, 'query', {\n get() {\n return new AV.Query(this.prototype.className);\n },\n });\n\n AV.Object._findUnsavedChildren = function(objects, children, files) {\n AV._traverse(objects, function(object) {\n if (object instanceof AV.Object) {\n if (object.dirty()) {\n children.push(object);\n }\n return;\n }\n\n if (object instanceof AV.File) {\n if (!object.id) {\n files.push(object);\n }\n return;\n }\n });\n };\n\n AV.Object._canBeSerializedAsValue = function(object) {\n var canBeSerializedAsValue = true;\n\n if (object instanceof AV.Object || object instanceof AV.File) {\n canBeSerializedAsValue = !!object.id;\n } else if (_.isArray(object)) {\n AV._arrayEach(object, function(child) {\n if (!AV.Object._canBeSerializedAsValue(child)) {\n canBeSerializedAsValue = false;\n }\n });\n } else if (_.isObject(object)) {\n AV._objectEach(object, function(child) {\n if (!AV.Object._canBeSerializedAsValue(child)) {\n canBeSerializedAsValue = false;\n }\n });\n }\n\n return canBeSerializedAsValue;\n };\n\n AV.Object._deepSaveAsync = function(object, model, options) {\n var unsavedChildren = [];\n var unsavedFiles = [];\n AV.Object._findUnsavedChildren(object, unsavedChildren, unsavedFiles);\n\n unsavedFiles = _.uniq(unsavedFiles);\n\n var promise = Promise.resolve();\n _.each(unsavedFiles, function(file) {\n promise = promise.then(function() {\n return file.save();\n });\n });\n\n var objects = _.uniq(unsavedChildren);\n var remaining = _.uniq(objects);\n\n return promise\n .then(function() {\n return continueWhile(\n function() {\n return remaining.length > 0;\n },\n function() {\n // Gather up all the objects that can be saved in this batch.\n var batch = [];\n var newRemaining = [];\n AV._arrayEach(remaining, function(object) {\n if (object._canBeSerialized()) {\n batch.push(object);\n } else {\n newRemaining.push(object);\n }\n });\n remaining = newRemaining;\n\n // If we can't save any objects, there must be a circular reference.\n if (batch.length === 0) {\n return Promise.reject(\n new AVError(\n AVError.OTHER_CAUSE,\n 'Tried to save a batch with a cycle.'\n )\n );\n }\n\n // Reserve a spot in every object's save queue.\n var readyToStart = Promise.resolve(\n _.map(batch, function(object) {\n return object._allPreviousSaves || Promise.resolve();\n })\n );\n\n // Save a single batch, whether previous saves succeeded or failed.\n const bathSavePromise = readyToStart.then(() =>\n _request(\n 'batch',\n null,\n null,\n 'POST',\n {\n requests: _.map(batch, function(object) {\n var method = object.id ? 'PUT' : 'POST';\n\n var json = object._getSaveJSON();\n\n _.extend(json, object._flags);\n\n var route = 'classes';\n var className = object.className;\n var path = `/${route}/${className}`;\n if (object.className === '_User' && !object.id) {\n // Special-case user sign-up.\n path = '/users';\n }\n\n var path = `/1.1${path}`;\n if (object.id) {\n path = path + '/' + object.id;\n }\n\n object._startSave();\n\n return {\n method: method,\n path: path,\n body: json,\n params:\n options && options.fetchWhenSave\n ? { fetchWhenSave: true }\n : undefined,\n };\n }),\n },\n options\n ).then(function(response) {\n const results = _.map(batch, function(object, i) {\n if (response[i].success) {\n object._finishSave(object.parse(response[i].success));\n return object;\n }\n object._cancelSave();\n return new AVError(\n response[i].error.code,\n response[i].error.error\n );\n });\n return handleBatchResults(results);\n })\n );\n AV._arrayEach(batch, function(object) {\n object._allPreviousSaves = bathSavePromise;\n });\n return bathSavePromise;\n }\n );\n })\n .then(function() {\n return object;\n });\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/object.js","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js\n// module id = 505\n// module chunks = 0 1","var _Array$isArray = require(\"@babel/runtime-corejs3/core-js/array/is-array\");\n\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js\n// module id = 506\n// module chunks = 0 1","module.exports = require(\"core-js-pure/features/array/is-array\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js\n// module id = 507\n// module chunks = 0 1","module.exports = require('../../full/array/is-array');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/features/array/is-array.js\n// module id = 508\n// module chunks = 0 1","var parent = require('../../actual/array/is-array');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/full/array/is-array.js\n// module id = 509\n// module chunks = 0 1","var parent = require('../../stable/array/is-array');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/actual/array/is-array.js\n// module id = 510\n// module chunks = 0 1","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/stable/array/is-array.js\n// module id = 511\n// module chunks = 0 1","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/array/is-array.js\n// module id = 512\n// module chunks = 0 1","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.array.is-array.js\n// module id = 513\n// module chunks = 0 1","var _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\n\nvar _getIteratorMethod = require(\"@babel/runtime-corejs3/core-js/get-iterator-method\");\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof _Symbol !== \"undefined\" && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js\n// module id = 514\n// module chunks = 0 1","var _sliceInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/slice\");\n\nvar _Array$from = require(\"@babel/runtime-corejs3/core-js/array/from\");\n\nvar arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js\n// module id = 515\n// module chunks = 0 1","module.exports = require(\"core-js-pure/features/instance/slice\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/core-js/instance/slice.js\n// module id = 516\n// module chunks = 0 1","module.exports = require('../../full/instance/slice');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/features/instance/slice.js\n// module id = 517\n// module chunks = 0 1","var parent = require('../../actual/instance/slice');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/full/instance/slice.js\n// module id = 518\n// module chunks = 0 1","var parent = require('../../stable/instance/slice');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/actual/instance/slice.js\n// module id = 519\n// module chunks = 0 1","module.exports = require(\"core-js-pure/features/array/from\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/core-js/array/from.js\n// module id = 520\n// module chunks = 0 1","module.exports = require('../../full/array/from');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/features/array/from.js\n// module id = 521\n// module chunks = 0 1","var parent = require('../../actual/array/from');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/full/array/from.js\n// module id = 522\n// module chunks = 0 1","var parent = require('../../stable/array/from');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/actual/array/from.js\n// module id = 523\n// module chunks = 0 1","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js\n// module id = 524\n// module chunks = 0 1","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js\n// module id = 525\n// module chunks = 0 1","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptor\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js\n// module id = 526\n// module chunks = 0 1","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js\n// module id = 527\n// module chunks = 0 1","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/es/object/get-own-property-descriptor.js\n// module id = 528\n// module chunks = 0 1","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js\n// module id = 529\n// module chunks = 0 1","const _ = require('underscore');\nconst AVError = require('./error');\n\nmodule.exports = function(AV) {\n AV.Role = AV.Object.extend(\n '_Role',\n /** @lends AV.Role.prototype */ {\n // Instance Methods\n\n /**\n * Represents a Role on the AV server. Roles represent groupings of\n * Users for the purposes of granting permissions (e.g. specifying an ACL\n * for an Object). Roles are specified by their sets of child users and\n * child roles, all of which are granted any permissions that the parent\n * role has.\n *\n * Roles must have a name (which cannot be changed after creation of the\n * role), and must specify an ACL.
\n * An AV.Role is a local representation of a role persisted to the AV\n * cloud.\n * @class AV.Role\n * @param {String} name The name of the Role to create.\n * @param {AV.ACL} acl The ACL for this role.\n */\n constructor: function(name, acl) {\n if (_.isString(name)) {\n AV.Object.prototype.constructor.call(this, null, null);\n this.setName(name);\n } else {\n AV.Object.prototype.constructor.call(this, name, acl);\n }\n if (acl) {\n if (!(acl instanceof AV.ACL)) {\n throw new TypeError('acl must be an instance of AV.ACL');\n } else {\n this.setACL(acl);\n }\n }\n },\n\n /**\n * Gets the name of the role. You can alternatively call role.get(\"name\")\n *\n * @return {String} the name of the role.\n */\n getName: function() {\n return this.get('name');\n },\n\n /**\n * Sets the name for a role. This value must be set before the role has\n * been saved to the server, and cannot be set once the role has been\n * saved.\n *\n *\n * A role's name can only contain alphanumeric characters, _, -, and\n * spaces.\n *
\n *\n *This is equivalent to calling role.set(\"name\", name)
\n *\n * @param {String} name The name of the role.\n */\n setName: function(name, options) {\n return this.set('name', name, options);\n },\n\n /**\n * Gets the AV.Relation for the AV.Users that are direct\n * children of this role. These users are granted any privileges that this\n * role has been granted (e.g. read or write access through ACLs). You can\n * add or remove users from the role through this relation.\n *\n *This is equivalent to calling role.relation(\"users\")
\n *\n * @return {AV.Relation} the relation for the users belonging to this\n * role.\n */\n getUsers: function() {\n return this.relation('users');\n },\n\n /**\n * Gets the AV.Relation for the AV.Roles that are direct\n * children of this role. These roles' users are granted any privileges that\n * this role has been granted (e.g. read or write access through ACLs). You\n * can add or remove child roles from this role through this relation.\n *\n *This is equivalent to calling role.relation(\"roles\")
\n *\n * @return {AV.Relation} the relation for the roles belonging to this\n * role.\n */\n getRoles: function() {\n return this.relation('roles');\n },\n\n /**\n * @ignore\n */\n validate: function(attrs, options) {\n if ('name' in attrs && attrs.name !== this.getName()) {\n var newName = attrs.name;\n if (this.id && this.id !== attrs.objectId) {\n // Check to see if the objectId being set matches this.id.\n // This happens during a fetch -- the id is set before calling fetch.\n // Let the name be set in this case.\n return new AVError(\n AVError.OTHER_CAUSE,\n \"A role's name can only be set before it has been saved.\"\n );\n }\n if (!_.isString(newName)) {\n return new AVError(\n AVError.OTHER_CAUSE,\n \"A role's name must be a String.\"\n );\n }\n if (!/^[0-9a-zA-Z\\-_ ]+$/.test(newName)) {\n return new AVError(\n AVError.OTHER_CAUSE,\n \"A role's name can only contain alphanumeric characters, _,\" +\n ' -, and spaces.'\n );\n }\n }\n if (AV.Object.prototype.validate) {\n return AV.Object.prototype.validate.call(this, attrs, options);\n }\n return false;\n },\n }\n );\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/role.js","const _ = require('underscore');\nconst uuid = require('uuid/v4');\nconst AVError = require('./error');\nconst { _request: AVRequest, request } = require('./request');\nconst { getAdapter } = require('./adapter');\n\nconst PLATFORM_ANONYMOUS = 'anonymous';\nconst PLATFORM_QQAPP = 'lc_qqapp';\n\nconst mergeUnionDataIntoAuthData = (defaultUnionIdPlatform = 'weixin') => (\n authData,\n unionId,\n { unionIdPlatform = defaultUnionIdPlatform, asMainAccount = false } = {}\n) => {\n if (typeof unionId !== 'string')\n throw new AVError(AVError.OTHER_CAUSE, 'unionId is not a string');\n if (typeof unionIdPlatform !== 'string')\n throw new AVError(AVError.OTHER_CAUSE, 'unionIdPlatform is not a string');\n\n return _.extend({}, authData, {\n platform: unionIdPlatform,\n unionid: unionId,\n main_account: Boolean(asMainAccount),\n });\n};\n\nmodule.exports = function(AV) {\n /**\n * @class\n *\n *An AV.User object is a local representation of a user persisted to the\n * LeanCloud server. This class is a subclass of an AV.Object, and retains the\n * same functionality of an AV.Object, but also extends it with various\n * user specific methods, like authentication, signing up, and validation of\n * uniqueness.
\n */\n AV.User = AV.Object.extend(\n '_User',\n /** @lends AV.User.prototype */ {\n // Instance Variables\n _isCurrentUser: false,\n\n // Instance Methods\n\n /**\n * Internal method to handle special fields in a _User response.\n * @private\n */\n _mergeMagicFields: function(attrs) {\n if (attrs.sessionToken) {\n this._sessionToken = attrs.sessionToken;\n delete attrs.sessionToken;\n }\n return AV.User.__super__._mergeMagicFields.call(this, attrs);\n },\n\n /**\n * Removes null values from authData (which exist temporarily for\n * unlinking)\n * @private\n */\n _cleanupAuthData: function() {\n if (!this.isCurrent()) {\n return;\n }\n var authData = this.get('authData');\n if (!authData) {\n return;\n }\n AV._objectEach(this.get('authData'), function(value, key) {\n if (!authData[key]) {\n delete authData[key];\n }\n });\n },\n\n /**\n * Synchronizes authData for all providers.\n * @private\n */\n _synchronizeAllAuthData: function() {\n var authData = this.get('authData');\n if (!authData) {\n return;\n }\n\n var self = this;\n AV._objectEach(this.get('authData'), function(value, key) {\n self._synchronizeAuthData(key);\n });\n },\n\n /**\n * Synchronizes auth data for a provider (e.g. puts the access token in the\n * right place to be used by the Facebook SDK).\n * @private\n */\n _synchronizeAuthData: function(provider) {\n if (!this.isCurrent()) {\n return;\n }\n var authType;\n if (_.isString(provider)) {\n authType = provider;\n provider = AV.User._authProviders[authType];\n } else {\n authType = provider.getAuthType();\n }\n var authData = this.get('authData');\n if (!authData || !provider) {\n return;\n }\n var success = provider.restoreAuthentication(authData[authType]);\n if (!success) {\n this.dissociateAuthData(provider);\n }\n },\n\n _handleSaveResult: function(makeCurrent) {\n // Clean up and synchronize the authData object, removing any unset values\n if (makeCurrent && !AV._config.disableCurrentUser) {\n this._isCurrentUser = true;\n }\n this._cleanupAuthData();\n this._synchronizeAllAuthData();\n // Don't keep the password around.\n delete this._serverData.password;\n this._rebuildEstimatedDataForKey('password');\n this._refreshCache();\n if (\n (makeCurrent || this.isCurrent()) &&\n !AV._config.disableCurrentUser\n ) {\n // Some old version of leanengine-node-sdk will overwrite\n // AV.User._saveCurrentUser which returns no Promise.\n // So we need a Promise wrapper.\n return Promise.resolve(AV.User._saveCurrentUser(this));\n } else {\n return Promise.resolve();\n }\n },\n\n /**\n * Unlike in the Android/iOS SDKs, logInWith is unnecessary, since you can\n * call linkWith on the user (even if it doesn't exist yet on the server).\n * @private\n */\n _linkWith: function(provider, data, { failOnNotExist = false } = {}) {\n var authType;\n if (_.isString(provider)) {\n authType = provider;\n provider = AV.User._authProviders[provider];\n } else {\n authType = provider.getAuthType();\n }\n if (data) {\n return this.save(\n { authData: { [authType]: data } },\n {\n fetchWhenSave: !!this.get('authData'),\n _failOnNotExist: failOnNotExist,\n }\n ).then(function(model) {\n return model._handleSaveResult(true).then(function() {\n return model;\n });\n });\n } else {\n return provider\n .authenticate()\n .then(result => this._linkWith(provider, result));\n }\n },\n\n /**\n * Associate the user with a third party authData.\n * @since 3.3.0\n * @param {Object} authData The response json data returned from third party token, maybe like { openid: 'abc123', access_token: '123abc', expires_in: 1382686496 }\n * @param {string} platform Available platform for sign up.\n * @return {Promisecurrent
.\n *\n * A username and password must be set before calling signUp.
\n *\n * @param {Object} attrs Extra fields to set on the new user, or null.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the signup\n * finishes.\n * @see AV.User.signUp\n */\n signUp: function(attrs, options) {\n var error;\n\n var username = (attrs && attrs.username) || this.get('username');\n if (!username || username === '') {\n error = new AVError(\n AVError.OTHER_CAUSE,\n 'Cannot sign up user with an empty name.'\n );\n throw error;\n }\n\n var password = (attrs && attrs.password) || this.get('password');\n if (!password || password === '') {\n error = new AVError(\n AVError.OTHER_CAUSE,\n 'Cannot sign up user with an empty password.'\n );\n throw error;\n }\n\n return this.save(attrs, options).then(function(model) {\n if (model.isAnonymous()) {\n model.unset(`authData.${PLATFORM_ANONYMOUS}`);\n model._opSetQueue = [{}];\n }\n return model._handleSaveResult(true).then(function() {\n return model;\n });\n });\n },\n\n /**\n * Signs up a new user with mobile phone and sms code.\n * You should call this instead of save for\n * new AV.Users. This will create a new AV.User on the server, and\n * also persist the session on disk so that you can access the user using\n *current
.\n *\n * A username and password must be set before calling signUp.
\n *\n * @param {Object} attrs Extra fields to set on the new user, or null.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the signup\n * finishes.\n * @see AV.User.signUpOrlogInWithMobilePhone\n * @see AV.Cloud.requestSmsCode\n */\n signUpOrlogInWithMobilePhone: function(attrs, options = {}) {\n var error;\n\n var mobilePhoneNumber =\n (attrs && attrs.mobilePhoneNumber) || this.get('mobilePhoneNumber');\n if (!mobilePhoneNumber || mobilePhoneNumber === '') {\n error = new AVError(\n AVError.OTHER_CAUSE,\n 'Cannot sign up or login user by mobilePhoneNumber ' +\n 'with an empty mobilePhoneNumber.'\n );\n throw error;\n }\n\n var smsCode = (attrs && attrs.smsCode) || this.get('smsCode');\n if (!smsCode || smsCode === '') {\n error = new AVError(\n AVError.OTHER_CAUSE,\n 'Cannot sign up or login user by mobilePhoneNumber ' +\n 'with an empty smsCode.'\n );\n throw error;\n }\n\n options._makeRequest = function(route, className, id, method, json) {\n return AVRequest('usersByMobilePhone', null, null, 'POST', json);\n };\n return this.save(attrs, options).then(function(model) {\n delete model.attributes.smsCode;\n delete model._serverData.smsCode;\n return model._handleSaveResult(true).then(function() {\n return model;\n });\n });\n },\n\n /**\n * The same with {@link AV.User.loginWithAuthData}, except that you can set attributes before login.\n * @since 3.7.0\n */\n loginWithAuthData(authData, platform, options) {\n return this._linkWith(platform, authData, options);\n },\n\n /**\n * The same with {@link AV.User.loginWithAuthDataAndUnionId}, except that you can set attributes before login.\n * @since 3.7.0\n */\n loginWithAuthDataAndUnionId(\n authData,\n platform,\n unionId,\n unionLoginOptions\n ) {\n return this.loginWithAuthData(\n mergeUnionDataIntoAuthData()(authData, unionId, unionLoginOptions),\n platform,\n unionLoginOptions\n );\n },\n\n /**\n * The same with {@link AV.User.loginWithWeapp}, except that you can set attributes before login.\n * @deprecated please use {@link AV.User#loginWithMiniApp}\n * @since 3.7.0\n * @param {Object} [options]\n * @param {boolean} [options.failOnNotExist] If true, the login request will fail when no user matches this authData exists.\n * @param {boolean} [options.preferUnionId] 当用户满足 {@link https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html 获取 UnionId 的条件} 时,是否使用 UnionId 登录。(since 3.13.0)\n * @param {string} [options.unionIdPlatform = 'weixin'] (only take effect when preferUnionId) unionId platform\n * @param {boolean} [options.asMainAccount = true] (only take effect when preferUnionId) If true, the unionId will be associated with the user.\n * @return {Promisecurrent
.\n *\n * A username and password must be set before calling logIn.
\n *\n * @see AV.User.logIn\n * @return {Promise} A promise that is fulfilled with the user when\n * the login is complete.\n */\n logIn: function() {\n var model = this;\n var request = AVRequest('login', null, null, 'POST', this.toJSON());\n return request.then(function(resp) {\n var serverAttrs = model.parse(resp);\n model._finishFetch(serverAttrs);\n return model._handleSaveResult(true).then(function() {\n if (!serverAttrs.smsCode) delete model.attributes['smsCode'];\n return model;\n });\n });\n },\n /**\n * @see AV.Object#save\n */\n save: function(arg1, arg2, arg3) {\n var attrs, options;\n if (_.isObject(arg1) || _.isNull(arg1) || _.isUndefined(arg1)) {\n attrs = arg1;\n options = arg2;\n } else {\n attrs = {};\n attrs[arg1] = arg2;\n options = arg3;\n }\n options = options || {};\n\n return AV.Object.prototype.save\n .call(this, attrs, options)\n .then(function(model) {\n return model._handleSaveResult(false).then(function() {\n return model;\n });\n });\n },\n\n /**\n * Follow a user\n * @since 0.3.0\n * @param {Object | AV.User | String} options if an AV.User or string is given, it will be used as the target user.\n * @param {AV.User | String} options.user The target user or user's objectId to follow.\n * @param {Object} [options.attributes] key-value attributes dictionary to be used as\n * conditions of followerQuery/followeeQuery.\n * @param {AuthOptions} [authOptions]\n */\n follow: function(options, authOptions) {\n if (!this.id) {\n throw new Error('Please signin.');\n }\n let user;\n let attributes;\n if (options.user) {\n user = options.user;\n attributes = options.attributes;\n } else {\n user = options;\n }\n var userObjectId = _.isString(user) ? user : user.id;\n if (!userObjectId) {\n throw new Error('Invalid target user.');\n }\n var route = 'users/' + this.id + '/friendship/' + userObjectId;\n var request = AVRequest(\n route,\n null,\n null,\n 'POST',\n AV._encode(attributes),\n authOptions\n );\n return request;\n },\n\n /**\n * Unfollow a user.\n * @since 0.3.0\n * @param {Object | AV.User | String} options if an AV.User or string is given, it will be used as the target user.\n * @param {AV.User | String} options.user The target user or user's objectId to unfollow.\n * @param {AuthOptions} [authOptions]\n */\n unfollow: function(options, authOptions) {\n if (!this.id) {\n throw new Error('Please signin.');\n }\n let user;\n if (options.user) {\n user = options.user;\n } else {\n user = options;\n }\n var userObjectId = _.isString(user) ? user : user.id;\n if (!userObjectId) {\n throw new Error('Invalid target user.');\n }\n var route = 'users/' + this.id + '/friendship/' + userObjectId;\n var request = AVRequest(route, null, null, 'DELETE', null, authOptions);\n return request;\n },\n\n /**\n * Get the user's followers and followees.\n * @since 4.8.0\n * @param {Object} [options]\n * @param {Number} [options.skip]\n * @param {Number} [options.limit]\n * @param {AuthOptions} [authOptions]\n */\n getFollowersAndFollowees: function(options, authOptions) {\n if (!this.id) {\n throw new Error('Please signin.');\n }\n return request({\n method: 'GET',\n path: `/users/${this.id}/followersAndFollowees`,\n query: {\n skip: options && options.skip,\n limit: options && options.limit,\n include: 'follower,followee',\n keys: 'follower,followee',\n },\n authOptions,\n }).then(({ followers, followees }) => ({\n followers: followers.map(({ follower }) => AV._decode(follower)),\n followees: followees.map(({ followee }) => AV._decode(followee)),\n }));\n },\n\n /**\n *Create a follower query to query the user's followers.\n * @since 0.3.0\n * @see AV.User#followerQuery\n */\n followerQuery: function() {\n return AV.User.followerQuery(this.id);\n },\n\n /**\n *Create a followee query to query the user's followees.\n * @since 0.3.0\n * @see AV.User#followeeQuery\n */\n followeeQuery: function() {\n return AV.User.followeeQuery(this.id);\n },\n\n /**\n * @see AV.Object#fetch\n */\n fetch: function(fetchOptions, options) {\n return AV.Object.prototype.fetch\n .call(this, fetchOptions, options)\n .then(function(model) {\n return model._handleSaveResult(false).then(function() {\n return model;\n });\n });\n },\n\n /**\n * Update user's new password safely based on old password.\n * @param {String} oldPassword the old password.\n * @param {String} newPassword the new password.\n * @param {AuthOptions} options\n */\n updatePassword: function(oldPassword, newPassword, options) {\n var route = 'users/' + this.id + '/updatePassword';\n var params = {\n old_password: oldPassword,\n new_password: newPassword,\n };\n var request = AVRequest(route, null, null, 'PUT', params, options);\n return request.then(resp => {\n this._finishFetch(this.parse(resp));\n return this._handleSaveResult(true).then(() => resp);\n });\n },\n\n /**\n * Returns true ifcurrent
would return this user.\n * @see AV.User#current\n */\n isCurrent: function() {\n return this._isCurrentUser;\n },\n\n /**\n * Returns get(\"username\").\n * @return {String}\n * @see AV.Object#get\n */\n getUsername: function() {\n return this.get('username');\n },\n\n /**\n * Returns get(\"mobilePhoneNumber\").\n * @return {String}\n * @see AV.Object#get\n */\n getMobilePhoneNumber: function() {\n return this.get('mobilePhoneNumber');\n },\n\n /**\n * Calls set(\"mobilePhoneNumber\", phoneNumber, options) and returns the result.\n * @param {String} mobilePhoneNumber\n * @return {Boolean}\n * @see AV.Object#set\n */\n setMobilePhoneNumber: function(phone, options) {\n return this.set('mobilePhoneNumber', phone, options);\n },\n\n /**\n * Calls set(\"username\", username, options) and returns the result.\n * @param {String} username\n * @return {Boolean}\n * @see AV.Object#set\n */\n setUsername: function(username, options) {\n return this.set('username', username, options);\n },\n\n /**\n * Calls set(\"password\", password, options) and returns the result.\n * @param {String} password\n * @return {Boolean}\n * @see AV.Object#set\n */\n setPassword: function(password, options) {\n return this.set('password', password, options);\n },\n\n /**\n * Returns get(\"email\").\n * @return {String}\n * @see AV.Object#get\n */\n getEmail: function() {\n return this.get('email');\n },\n\n /**\n * Calls set(\"email\", email, options) and returns the result.\n * @param {String} email\n * @param {AuthOptions} options\n * @return {Boolean}\n * @see AV.Object#set\n */\n setEmail: function(email, options) {\n return this.set('email', email, options);\n },\n\n /**\n * Checks whether this user is the current user and has been authenticated.\n * @deprecated 如果要判断当前用户的登录状态是否有效,请使用 currentUser.isAuthenticated().then(),\n * 如果要判断该用户是否是当前登录用户,请使用 user.id === currentUser.id\n * @return (Boolean) whether this user is the current user and is logged in.\n */\n authenticated: function() {\n console.warn(\n 'DEPRECATED: 如果要判断当前用户的登录状态是否有效,请使用 currentUser.isAuthenticated().then(),如果要判断该用户是否是当前登录用户,请使用 user.id === currentUser.id。'\n );\n return (\n !!this._sessionToken &&\n (!AV._config.disableCurrentUser &&\n AV.User.current() &&\n AV.User.current().id === this.id)\n );\n },\n\n /**\n * Detects if current sessionToken is valid.\n *\n * @since 2.0.0\n * @return Promise.current
.\n *\n * @param {String} username The username (or email) to log in with.\n * @param {String} password The password to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#logIn\n */\n logIn: function(username, password) {\n var user = AV.Object._create('_User');\n user._finishFetch({ username: username, password: password });\n return user.logIn();\n },\n\n /**\n * Logs in a user with a session token. On success, this saves the session\n * to disk, so you can retrieve the currently logged in user using\n * current
.\n *\n * @param {String} sessionToken The sessionToken to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n */\n become: function(sessionToken) {\n return this._fetchUserBySessionToken(sessionToken).then(user =>\n user._handleSaveResult(true).then(() => user)\n );\n },\n\n _fetchUserBySessionToken: function(sessionToken) {\n if (sessionToken === undefined) {\n return Promise.reject(\n new Error('The sessionToken cannot be undefined')\n );\n }\n\n var user = AV.Object._create('_User');\n return request({\n method: 'GET',\n path: '/users/me',\n authOptions: {\n sessionToken,\n },\n }).then(function(resp) {\n var serverAttrs = user.parse(resp);\n user._finishFetch(serverAttrs);\n return user;\n });\n },\n\n /**\n * Logs in a user with a mobile phone number and sms code sent by\n * AV.User.requestLoginSmsCode.On success, this\n * saves the session to disk, so you can retrieve the currently logged in\n * user using current
.\n *\n * @param {String} mobilePhone The user's mobilePhoneNumber\n * @param {String} smsCode The sms code sent by AV.User.requestLoginSmsCode\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#logIn\n */\n logInWithMobilePhoneSmsCode: function(mobilePhone, smsCode) {\n var user = AV.Object._create('_User');\n user._finishFetch({ mobilePhoneNumber: mobilePhone, smsCode: smsCode });\n return user.logIn();\n },\n\n /**\n * Signs up or logs in a user with a mobilePhoneNumber and smsCode.\n * On success, this saves the session to disk, so you can retrieve the currently\n * logged in user using current
.\n *\n * @param {String} mobilePhoneNumber The user's mobilePhoneNumber.\n * @param {String} smsCode The sms code sent by AV.Cloud.requestSmsCode\n * @param {Object} attributes The user's other attributes such as username etc.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#signUpOrlogInWithMobilePhone\n * @see AV.Cloud.requestSmsCode\n */\n signUpOrlogInWithMobilePhone: function(\n mobilePhoneNumber,\n smsCode,\n attrs,\n options\n ) {\n attrs = attrs || {};\n attrs.mobilePhoneNumber = mobilePhoneNumber;\n attrs.smsCode = smsCode;\n var user = AV.Object._create('_User');\n return user.signUpOrlogInWithMobilePhone(attrs, options);\n },\n\n /**\n * Logs in a user with a mobile phone number and password. On success, this\n * saves the session to disk, so you can retrieve the currently logged in\n * user using current
.\n *\n * @param {String} mobilePhone The user's mobilePhoneNumber\n * @param {String} password The password to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @see AV.User#logIn\n */\n logInWithMobilePhone: function(mobilePhone, password) {\n var user = AV.Object._create('_User');\n user._finishFetch({\n mobilePhoneNumber: mobilePhone,\n password: password,\n });\n return user.logIn();\n },\n\n /**\n * Logs in a user with email and password.\n *\n * @since 3.13.0\n * @param {String} email The user's email.\n * @param {String} password The password to log in with.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n */\n loginWithEmail(email, password) {\n const user = AV.Object._create('_User');\n user._finishFetch({\n email,\n password,\n });\n return user.logIn();\n },\n\n /**\n * Signs up or logs in a user with a third party auth data(AccessToken).\n * On success, this saves the session to disk, so you can retrieve the currently\n * logged in user using current
.\n *\n * @since 3.7.0\n * @param {Object} authData The response json data returned from third party token, maybe like { openid: 'abc123', access_token: '123abc', expires_in: 1382686496 }\n * @param {string} platform Available platform for sign up.\n * @param {Object} [options]\n * @param {boolean} [options.failOnNotExist] If true, the login request will fail when no user matches this authData exists.\n * @return {Promise} A promise that is fulfilled with the user when\n * the login completes.\n * @example AV.User.loginWithAuthData({\n * openid: 'abc123',\n * access_token: '123abc',\n * expires_in: 1382686496\n * }, 'weixin').then(function(user) {\n * //Access user here\n * }).catch(function(error) {\n * //console.error(\"error: \", error);\n * });\n * @see {@link https://leancloud.cn/docs/js_guide.html#绑定第三方平台账户}\n */\n loginWithAuthData(authData, platform, options) {\n return AV.User._logInWith(platform, authData, options);\n },\n\n /**\n * @deprecated renamed to {@link AV.User.loginWithAuthData}\n */\n signUpOrlogInWithAuthData(...param) {\n console.warn(\n 'DEPRECATED: User.signUpOrlogInWithAuthData 已废弃,请使用 User#loginWithAuthData 代替'\n );\n return this.loginWithAuthData(...param);\n },\n\n /**\n * Signs up or logs in a user with a third party authData and unionId.\n * @since 3.7.0\n * @param {Object} authData The response json data returned from third party token, maybe like { openid: 'abc123', access_token: '123abc', expires_in: 1382686496 }\n * @param {string} platform Available platform for sign up.\n * @param {string} unionId\n * @param {Object} [unionLoginOptions]\n * @param {string} [unionLoginOptions.unionIdPlatform = 'weixin'] unionId platform\n * @param {boolean} [unionLoginOptions.asMainAccount = false] If true, the unionId will be associated with the user.\n * @param {boolean} [unionLoginOptions.failOnNotExist] If true, the login request will fail when no user matches this authData exists.\n * @return {Promisecurrent
will return null
.\n * @return {Promise}\n */\n logOut: function() {\n if (AV._config.disableCurrentUser) {\n console.warn(\n 'AV.User.current() was disabled in multi-user environment, call logOut() from user object instead https://leancloud.cn/docs/leanengine-node-sdk-upgrade-1.html'\n );\n return Promise.resolve(null);\n }\n\n if (AV.User._currentUser !== null) {\n AV.User._currentUser._logOutWithAll();\n AV.User._currentUser._isCurrentUser = false;\n }\n AV.User._currentUserMatchesDisk = true;\n AV.User._currentUser = null;\n return AV.localStorage\n .removeItemAsync(AV._getAVPath(AV.User._CURRENT_USER_KEY))\n .then(() => AV._refreshSubscriptionId());\n },\n\n /**\n *Create a follower query for special user to query the user's followers.\n * @param {String} userObjectId The user object id.\n * @return {AV.FriendShipQuery}\n * @since 0.3.0\n */\n followerQuery: function(userObjectId) {\n if (!userObjectId || !_.isString(userObjectId)) {\n throw new Error('Invalid user object id.');\n }\n var query = new AV.FriendShipQuery('_Follower');\n query._friendshipTag = 'follower';\n query.equalTo(\n 'user',\n AV.Object.createWithoutData('_User', userObjectId)\n );\n return query;\n },\n\n /**\n *Create a followee query for special user to query the user's followees.\n * @param {String} userObjectId The user object id.\n * @return {AV.FriendShipQuery}\n * @since 0.3.0\n */\n followeeQuery: function(userObjectId) {\n if (!userObjectId || !_.isString(userObjectId)) {\n throw new Error('Invalid user object id.');\n }\n var query = new AV.FriendShipQuery('_Followee');\n query._friendshipTag = 'followee';\n query.equalTo(\n 'user',\n AV.Object.createWithoutData('_User', userObjectId)\n );\n return query;\n },\n\n /**\n * Requests a password reset email to be sent to the specified email address\n * associated with the user account. This email allows the user to securely\n * reset their password on the AV site.\n *\n * @param {String} email The email address associated with the user that\n * forgot their password.\n * @return {Promise}\n */\n requestPasswordReset: function(email) {\n var json = { email: email };\n var request = AVRequest(\n 'requestPasswordReset',\n null,\n null,\n 'POST',\n json\n );\n return request;\n },\n\n /**\n * Requests a verify email to be sent to the specified email address\n * associated with the user account. This email allows the user to securely\n * verify their email address on the AV site.\n *\n * @param {String} email The email address associated with the user that\n * doesn't verify their email address.\n * @return {Promise}\n */\n requestEmailVerify: function(email) {\n var json = { email: email };\n var request = AVRequest('requestEmailVerify', null, null, 'POST', json);\n return request;\n },\n\n /**\n * Requests a verify sms code to be sent to the specified mobile phone\n * number associated with the user account. This sms code allows the user to\n * verify their mobile phone number by calling AV.User.verifyMobilePhone\n *\n * @param {String} mobilePhoneNumber The mobile phone number associated with the\n * user that doesn't verify their mobile phone number.\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestMobilePhoneVerify: function(mobilePhoneNumber, options = {}) {\n const data = {\n mobilePhoneNumber,\n };\n if (options.validateToken) {\n data.validate_token = options.validateToken;\n }\n var request = AVRequest(\n 'requestMobilePhoneVerify',\n null,\n null,\n 'POST',\n data,\n options\n );\n return request;\n },\n\n /**\n * Requests a reset password sms code to be sent to the specified mobile phone\n * number associated with the user account. This sms code allows the user to\n * reset their account's password by calling AV.User.resetPasswordBySmsCode\n *\n * @param {String} mobilePhoneNumber The mobile phone number associated with the\n * user that doesn't verify their mobile phone number.\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestPasswordResetBySmsCode: function(mobilePhoneNumber, options = {}) {\n const data = {\n mobilePhoneNumber,\n };\n if (options.validateToken) {\n data.validate_token = options.validateToken;\n }\n var request = AVRequest(\n 'requestPasswordResetBySmsCode',\n null,\n null,\n 'POST',\n data,\n options\n );\n return request;\n },\n\n /**\n * Requests a change mobile phone number sms code to be sent to the mobilePhoneNumber.\n * This sms code allows current user to reset it's mobilePhoneNumber by\n * calling {@link AV.User.changePhoneNumber}\n * @since 4.7.0\n * @param {String} mobilePhoneNumber\n * @param {Number} [ttl] ttl of sms code (default is 6 minutes)\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestChangePhoneNumber(mobilePhoneNumber, ttl, options) {\n const data = { mobilePhoneNumber };\n if (ttl) {\n data.ttl = options.ttl;\n }\n if (options && options.validateToken) {\n data.validate_token = options.validateToken;\n }\n return AVRequest(\n 'requestChangePhoneNumber',\n null,\n null,\n 'POST',\n data,\n options\n );\n },\n\n /**\n * Makes a call to reset user's account mobilePhoneNumber by sms code.\n * The sms code is sent by {@link AV.User.requestChangePhoneNumber}\n * @since 4.7.0\n * @param {String} mobilePhoneNumber\n * @param {String} code The sms code.\n * @return {Promise}\n */\n changePhoneNumber(mobilePhoneNumber, code) {\n const data = { mobilePhoneNumber, code };\n return AVRequest('changePhoneNumber', null, null, 'POST', data);\n },\n\n /**\n * Makes a call to reset user's account password by sms code and new password.\n * The sms code is sent by AV.User.requestPasswordResetBySmsCode.\n * @param {String} code The sms code sent by AV.User.Cloud.requestSmsCode\n * @param {String} password The new password.\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n resetPasswordBySmsCode: function(code, password) {\n var json = { password: password };\n var request = AVRequest(\n 'resetPasswordBySmsCode',\n null,\n code,\n 'PUT',\n json\n );\n return request;\n },\n\n /**\n * Makes a call to verify sms code that sent by AV.User.Cloud.requestSmsCode\n * If verify successfully,the user mobilePhoneVerified attribute will be true.\n * @param {String} code The sms code sent by AV.User.Cloud.requestSmsCode\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n verifyMobilePhone: function(code) {\n var request = AVRequest('verifyMobilePhone', null, code, 'POST', null);\n return request;\n },\n\n /**\n * Requests a logIn sms code to be sent to the specified mobile phone\n * number associated with the user account. This sms code allows the user to\n * login by AV.User.logInWithMobilePhoneSmsCode function.\n *\n * @param {String} mobilePhoneNumber The mobile phone number associated with the\n * user that want to login by AV.User.logInWithMobilePhoneSmsCode\n * @param {SMSAuthOptions} [options]\n * @return {Promise}\n */\n requestLoginSmsCode: function(mobilePhoneNumber, options = {}) {\n const data = {\n mobilePhoneNumber,\n };\n if (options.validateToken) {\n data.validate_token = options.validateToken;\n }\n var request = AVRequest(\n 'requestLoginSmsCode',\n null,\n null,\n 'POST',\n data,\n options\n );\n return request;\n },\n\n /**\n * Retrieves the currently logged in AVUser with a valid session,\n * either from memory or localStorage, if necessary.\n * @return {Promise.AV.Query defines a query that is used to fetch AV.Objects. The\n * most common use case is finding all objects that match a query through the\n * find
method. For example, this sample code fetches all objects\n * of class MyClass
. It calls a different function depending on\n * whether the fetch succeeded or not.\n *\n *
\n * var query = new AV.Query(MyClass);\n * query.find().then(function(results) {\n * // results is an array of AV.Object.\n * }, function(error) {\n * // error is an instance of AVError.\n * });\n *\n *
An AV.Query can also be used to retrieve a single object whose id is\n * known, through the get method. For example, this sample code fetches an\n * object of class MyClass
and id myId
. It calls a\n * different function depending on whether the fetch succeeded or not.\n *\n *
\n * var query = new AV.Query(MyClass);\n * query.get(myId).then(function(object) {\n * // object is an instance of AV.Object.\n * }, function(error) {\n * // error is an instance of AVError.\n * });\n *\n *
An AV.Query can also be used to count the number of objects that match\n * the query without retrieving all of those objects. For example, this\n * sample code counts the number of objects of the class MyClass
\n *
\n * var query = new AV.Query(MyClass);\n * query.count().then(function(number) {\n * // There are number instances of MyClass.\n * }, function(error) {\n * // error is an instance of AVError.\n * });\n */\n AV.Query = function(objectClass) {\n if (_.isString(objectClass)) {\n objectClass = AV.Object._getSubclass(objectClass);\n }\n\n this.objectClass = objectClass;\n\n this.className = objectClass.prototype.className;\n\n this._where = {};\n this._include = [];\n this._select = [];\n this._limit = -1; // negative limit means, do not send a limit\n this._skip = 0;\n this._defaultParams = {};\n };\n\n /**\n * Constructs a AV.Query that is the OR of the passed in queries. For\n * example:\n *
var compoundQuery = AV.Query.or(query1, query2, query3);\n *\n * will create a compoundQuery that is an or of the query1, query2, and\n * query3.\n * @param {...AV.Query} var_args The list of queries to OR.\n * @return {AV.Query} The query that is the OR of the passed in queries.\n */\n AV.Query.or = function() {\n var queries = _.toArray(arguments);\n var className = null;\n AV._arrayEach(queries, function(q) {\n if (_.isNull(className)) {\n className = q.className;\n }\n\n if (className !== q.className) {\n throw new Error('All queries must be for the same class');\n }\n });\n var query = new AV.Query(className);\n query._orQuery(queries);\n return query;\n };\n\n /**\n * Constructs a AV.Query that is the AND of the passed in queries. For\n * example:\n *
var compoundQuery = AV.Query.and(query1, query2, query3);\n *\n * will create a compoundQuery that is an 'and' of the query1, query2, and\n * query3.\n * @param {...AV.Query} var_args The list of queries to AND.\n * @return {AV.Query} The query that is the AND of the passed in queries.\n */\n AV.Query.and = function() {\n var queries = _.toArray(arguments);\n var className = null;\n AV._arrayEach(queries, function(q) {\n if (_.isNull(className)) {\n className = q.className;\n }\n\n if (className !== q.className) {\n throw new Error('All queries must be for the same class');\n }\n });\n var query = new AV.Query(className);\n query._andQuery(queries);\n return query;\n };\n\n /**\n * Retrieves a list of AVObjects that satisfy the CQL.\n * CQL syntax please see {@link https://leancloud.cn/docs/cql_guide.html CQL Guide}.\n *\n * @param {String} cql A CQL string, see {@link https://leancloud.cn/docs/cql_guide.html CQL Guide}.\n * @param {Array} pvalues An array contains placeholder values.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is resolved with the results when\n * the query completes.\n */\n AV.Query.doCloudQuery = function(cql, pvalues, options) {\n var params = { cql: cql };\n if (_.isArray(pvalues)) {\n params.pvalues = pvalues;\n } else {\n options = pvalues;\n }\n\n var request = _request('cloudQuery', null, null, 'GET', params, options);\n return request.then(function(response) {\n //query to process results.\n var query = new AV.Query(response.className);\n var results = _.map(response.results, function(json) {\n var obj = query._newObject(response);\n if (obj._finishFetch) {\n obj._finishFetch(query._processResult(json), true);\n }\n return obj;\n });\n return {\n results: results,\n count: response.count,\n className: response.className,\n };\n });\n };\n\n /**\n * Return a query with conditions from json.\n * This can be useful to send a query from server side to client side.\n * @since 4.0.0\n * @param {Object} json from {@link AV.Query#toJSON}\n * @return {AV.Query}\n */\n AV.Query.fromJSON = ({\n className,\n where,\n include,\n select,\n includeACL,\n limit,\n skip,\n order,\n }) => {\n if (typeof className !== 'string') {\n throw new TypeError('Invalid Query JSON, className must be a String.');\n }\n const query = new AV.Query(className);\n _.extend(query, {\n _where: where,\n _include: include,\n _select: select,\n _includeACL: includeACL,\n _limit: limit,\n _skip: skip,\n _order: order,\n });\n return query;\n };\n\n AV.Query._extend = AV._extend;\n\n _.extend(\n AV.Query.prototype,\n /** @lends AV.Query.prototype */ {\n //hook to iterate result. Added by dennis
\n * Some functions are only available from Cloud Code.\n *
\n *\n * @namespace\n * @borrows AV.Captcha.request as requestCaptcha\n */\n AV.Cloud = AV.Cloud || {};\n\n _.extend(\n AV.Cloud,\n /** @lends AV.Cloud */ {\n /**\n * Makes a call to a cloud function.\n * @param {String} name The function name.\n * @param {Object} [data] The parameters to send to the cloud function.\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n run(name, data, options) {\n return request({\n service: 'engine',\n method: 'POST',\n path: `/functions/${name}`,\n data: AV._encode(data, null, true),\n authOptions: options,\n }).then(resp => {\n return AV._decode(resp).result;\n });\n },\n\n /**\n * Makes a call to a cloud function, you can send {AV.Object} as param or a field of param; the response\n * from server will also be parsed as an {AV.Object}, array of {AV.Object}, or object includes {AV.Object}\n * @param {String} name The function name.\n * @param {Object} [data] The parameters to send to the cloud function.\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result of the function.\n */\n rpc(name, data, options) {\n if (_.isArray(data)) {\n return Promise.reject(\n new Error(\n \"Can't pass Array as the param of rpc function in JavaScript SDK.\"\n )\n );\n }\n\n return request({\n service: 'engine',\n method: 'POST',\n path: `/call/${name}`,\n data: AV._encodeObjectOrArray(data),\n authOptions: options,\n }).then(resp => {\n return AV._decode(resp).result;\n });\n },\n\n /**\n * Make a call to request server date time.\n * @return {Promise.Send a status from current signined user to other user's private status inbox.
\n * @since 0.3.0\n * @param {AV.Status} status A status object to be send to followers.\n * @param {String} target The target user or user's objectId.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the send\n * completes.\n * @example\n * // send a private status to user '52e84e47e4b0f8de283b079b'\n * var status = new AVStatus('image url', 'a message');\n * AV.Status.sendPrivateStatus(status, '52e84e47e4b0f8de283b079b').then(function(){\n * //send status successfully.\n * }, function(err){\n * //an error threw.\n * console.dir(err);\n * });\n */\n AV.Status.sendPrivateStatus = function(status, target, options = {}) {\n if (!getSessionToken(options) && !AV.User.current()) {\n throw new Error('Please signin an user.');\n }\n if (!target) {\n throw new Error('Invalid target user.');\n }\n var userObjectId = _.isString(target) ? target : target.id;\n if (!userObjectId) {\n throw new Error('Invalid target user.');\n }\n return getUserPointer(options).then(currUser => {\n var query = {};\n query.className = '_User';\n query.where = { objectId: userObjectId };\n var data = {};\n data.query = query;\n status.data = status.data || {};\n status.data.source = status.data.source || currUser;\n data.data = status._getDataJSON();\n data.inboxType = 'private';\n status.inboxType = 'private';\n\n var request = AVRequest('statuses', null, null, 'POST', data, options);\n return request.then(function(response) {\n status.id = response.objectId;\n status.createdAt = AV._parseDate(response.createdAt);\n return status;\n });\n });\n };\n\n /**\n * Count unread statuses in someone's inbox.\n * @since 0.3.0\n * @param {AV.User} owner The status owner.\n * @param {String} inboxType The inbox type, 'default' by default.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the count\n * completes.\n * @example\n * AV.Status.countUnreadStatuses(AV.User.current()).then(function(response){\n * console.log(response.unread); //unread statuses number.\n * console.log(response.total); //total statuses number.\n * });\n */\n AV.Status.countUnreadStatuses = function(\n owner,\n inboxType = 'default',\n options = {}\n ) {\n if (!_.isString(inboxType)) options = inboxType;\n if (!getSessionToken(options) && owner == null && !AV.User.current()) {\n throw new Error('Please signin an user or pass the owner objectId.');\n }\n return Promise.resolve(owner || getUser(options)).then(owner => {\n var params = {};\n params.inboxType = AV._encode(inboxType);\n params.owner = AV._encode(owner);\n return AVRequest(\n 'subscribe/statuses/count',\n null,\n null,\n 'GET',\n params,\n options\n );\n });\n };\n\n /**\n * reset unread statuses count in someone's inbox.\n * @since 2.1.0\n * @param {AV.User} owner The status owner.\n * @param {String} inboxType The inbox type, 'default' by default.\n * @param {AuthOptions} options\n * @return {Promise} A promise that is fulfilled when the reset\n * completes.\n * @example\n * AV.Status.resetUnreadCount(AV.User.current()).then(function(response){\n * console.log(response.unread); //unread statuses number.\n * console.log(response.total); //total statuses number.\n * });\n */\n AV.Status.resetUnreadCount = function(\n owner,\n inboxType = 'default',\n options = {}\n ) {\n if (!_.isString(inboxType)) options = inboxType;\n if (!getSessionToken(options) && owner == null && !AV.User.current()) {\n throw new Error('Please signin an user or pass the owner objectId.');\n }\n return Promise.resolve(owner || getUser(options)).then(owner => {\n var params = {};\n params.inboxType = AV._encode(inboxType);\n params.owner = AV._encode(owner);\n return AVRequest(\n 'subscribe/statuses/resetUnreadCount',\n null,\n null,\n 'POST',\n params,\n options\n );\n });\n };\n\n /**\n * Create a status query to find someone's published statuses.\n * @since 0.3.0\n * @param {AV.User} source The status source, typically the publisher.\n * @return {AV.Query} The query object for status.\n * @example\n * //Find current user's published statuses.\n * var query = AV.Status.statusQuery(AV.User.current());\n * query.find().then(function(statuses){\n * //process statuses\n * });\n */\n AV.Status.statusQuery = function(source) {\n var query = new AV.Query('_Status');\n if (source) {\n query.equalTo('source', source);\n }\n return query;\n };\n\n /**\n *AV.InboxQuery defines a query that is used to fetch somebody's inbox statuses.
\n * @class\n */\n AV.InboxQuery = AV.Query._extend(\n /** @lends AV.InboxQuery.prototype */ {\n _objectClass: AV.Status,\n _sinceId: 0,\n _maxId: 0,\n _inboxType: 'default',\n _owner: null,\n _newObject: function() {\n return new AV.Status();\n },\n _createRequest: function(params, options) {\n return AV.InboxQuery.__super__._createRequest.call(\n this,\n params,\n options,\n '/subscribe/statuses'\n );\n },\n\n /**\n * Sets the messageId of results to skip before returning any results.\n * This is useful for pagination.\n * Default is zero.\n * @param {Number} n the mesage id.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n sinceId: function(id) {\n this._sinceId = id;\n return this;\n },\n /**\n * Sets the maximal messageId of results。\n * This is useful for pagination.\n * Default is zero that is no limition.\n * @param {Number} n the mesage id.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n maxId: function(id) {\n this._maxId = id;\n return this;\n },\n /**\n * Sets the owner of the querying inbox.\n * @param {AV.User} owner The inbox owner.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n owner: function(owner) {\n this._owner = owner;\n return this;\n },\n /**\n * Sets the querying inbox type.default is 'default'.\n * @param {String} type The inbox type.\n * @return {AV.InboxQuery} Returns the query, so you can chain this call.\n */\n inboxType: function(type) {\n this._inboxType = type;\n return this;\n },\n _getParams: function() {\n var params = AV.InboxQuery.__super__._getParams.call(this);\n params.owner = AV._encode(this._owner);\n params.inboxType = AV._encode(this._inboxType);\n params.sinceId = AV._encode(this._sinceId);\n params.maxId = AV._encode(this._maxId);\n return params;\n },\n }\n );\n\n /**\n * Create a inbox status query to find someone's inbox statuses.\n * @since 0.3.0\n * @param {AV.User} owner The inbox's owner\n * @param {String} inboxType The inbox type,'default' by default.\n * @return {AV.InboxQuery} The inbox query object.\n * @see AV.InboxQuery\n * @example\n * //Find current user's default inbox statuses.\n * var query = AV.Status.inboxQuery(AV.User.current());\n * //find the statuses after the last message id\n * query.sinceId(lastMessageId);\n * query.find().then(function(statuses){\n * //process statuses\n * });\n */\n AV.Status.inboxQuery = function(owner, inboxType) {\n var query = new AV.InboxQuery(AV.Status);\n if (owner) {\n query._owner = owner;\n }\n if (inboxType) {\n query._inboxType = inboxType;\n }\n return query;\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/status.js","const _ = require('underscore');\nconst AVRequest = require('./request')._request;\n\nmodule.exports = function(AV) {\n /**\n * A builder to generate sort string for app searching.For example:\n * @class\n * @since 0.5.1\n * @example\n * var builder = new AV.SearchSortBuilder();\n * builder.ascending('key1').descending('key2','max');\n * var query = new AV.SearchQuery('Player');\n * query.sortBy(builder);\n * query.find().then();\n */\n AV.SearchSortBuilder = function() {\n this._sortFields = [];\n };\n\n _.extend(\n AV.SearchSortBuilder.prototype,\n /** @lends AV.SearchSortBuilder.prototype */ {\n _addField: function(key, order, mode, missing) {\n var field = {};\n field[key] = {\n order: order || 'asc',\n mode: mode || 'avg',\n missing: '_' + (missing || 'last'),\n };\n this._sortFields.push(field);\n return this;\n },\n\n /**\n * Sorts the results in ascending order by the given key and options.\n *\n * @param {String} key The key to order by.\n * @param {String} mode The sort mode, default is 'avg', you can choose\n * 'max' or 'min' too.\n * @param {String} missing The missing key behaviour, default is 'last',\n * you can choose 'first' too.\n * @return {AV.SearchSortBuilder} Returns the builder, so you can chain this call.\n */\n ascending: function(key, mode, missing) {\n return this._addField(key, 'asc', mode, missing);\n },\n\n /**\n * Sorts the results in descending order by the given key and options.\n *\n * @param {String} key The key to order by.\n * @param {String} mode The sort mode, default is 'avg', you can choose\n * 'max' or 'min' too.\n * @param {String} missing The missing key behaviour, default is 'last',\n * you can choose 'first' too.\n * @return {AV.SearchSortBuilder} Returns the builder, so you can chain this call.\n */\n descending: function(key, mode, missing) {\n return this._addField(key, 'desc', mode, missing);\n },\n\n /**\n * Add a proximity based constraint for finding objects with key point\n * values near the point given.\n * @param {String} key The key that the AV.GeoPoint is stored in.\n * @param {AV.GeoPoint} point The reference AV.GeoPoint that is used.\n * @param {Object} options The other options such as mode,order, unit etc.\n * @return {AV.SearchSortBuilder} Returns the builder, so you can chain this call.\n */\n whereNear: function(key, point, options) {\n options = options || {};\n var field = {};\n var geo = {\n lat: point.latitude,\n lon: point.longitude,\n };\n var m = {\n order: options.order || 'asc',\n mode: options.mode || 'avg',\n unit: options.unit || 'km',\n };\n m[key] = geo;\n field['_geo_distance'] = m;\n\n this._sortFields.push(field);\n return this;\n },\n\n /**\n * Build a sort string by configuration.\n * @return {String} the sort string.\n */\n build: function() {\n return JSON.stringify(AV._encode(this._sortFields));\n },\n }\n );\n\n /**\n * App searching query.Use just like AV.Query:\n *\n * Visit App Searching Guide\n * for more details.\n * @class\n * @since 0.5.1\n * @example\n * var query = new AV.SearchQuery('Player');\n * query.queryString('*');\n * query.find().then(function(results) {\n * console.log('Found %d objects', query.hits());\n * //Process results\n * });\n */\n AV.SearchQuery = AV.Query._extend(\n /** @lends AV.SearchQuery.prototype */ {\n _sid: null,\n _hits: 0,\n _queryString: null,\n _highlights: null,\n _sortBuilder: null,\n _clazz: null,\n\n constructor: function(className) {\n if (className) {\n this._clazz = className;\n } else {\n className = '__INVALID_CLASS';\n }\n AV.Query.call(this, className);\n },\n\n _createRequest: function(params, options) {\n return AVRequest(\n 'search/select',\n null,\n null,\n 'GET',\n params || this._getParams(),\n options\n );\n },\n\n /**\n * Sets the sid of app searching query.Default is null.\n * @param {String} sid Scroll id for searching.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n sid: function(sid) {\n this._sid = sid;\n return this;\n },\n\n /**\n * Sets the query string of app searching.\n * @param {String} q The query string.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n queryString: function(q) {\n this._queryString = q;\n return this;\n },\n\n /**\n * Sets the highlight fields. Such as\n *\n * query.highlights('title');\n * //or pass an array.\n * query.highlights(['title', 'content'])\n *
\n * @param {String|String[]} highlights a list of fields.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n highlights: function(highlights) {\n var objects;\n if (highlights && _.isString(highlights)) {\n objects = _.toArray(arguments);\n } else {\n objects = highlights;\n }\n this._highlights = objects;\n return this;\n },\n\n /**\n * Sets the sort builder for this query.\n * @see AV.SearchSortBuilder\n * @param { AV.SearchSortBuilder} builder The sort builder.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n *\n */\n sortBy: function(builder) {\n this._sortBuilder = builder;\n return this;\n },\n\n /**\n * Returns the number of objects that match this query.\n * @return {Number}\n */\n hits: function() {\n if (!this._hits) {\n this._hits = 0;\n }\n return this._hits;\n },\n\n _processResult: function(json) {\n delete json['className'];\n delete json['_app_url'];\n delete json['_deeplink'];\n return json;\n },\n\n /**\n * Returns true when there are more documents can be retrieved by this\n * query instance, you can call find function to get more results.\n * @see AV.SearchQuery#find\n * @return {Boolean}\n */\n hasMore: function() {\n return !this._hitEnd;\n },\n\n /**\n * Reset current query instance state(such as sid, hits etc) except params\n * for a new searching. After resetting, hasMore() will return true.\n */\n reset: function() {\n this._hitEnd = false;\n this._sid = null;\n this._hits = 0;\n },\n\n /**\n * Retrieves a list of AVObjects that satisfy this query.\n * Either options.success or options.error is called when the find\n * completes.\n *\n * @see AV.Query#find\n * @param {AuthOptions} options\n * @return {Promise} A promise that is resolved with the results when\n * the query completes.\n */\n find: function(options) {\n var self = this;\n\n var request = this._createRequest(undefined, options);\n\n return request.then(function(response) {\n //update sid for next querying.\n if (response.sid) {\n self._oldSid = self._sid;\n self._sid = response.sid;\n } else {\n self._sid = null;\n self._hitEnd = true;\n }\n self._hits = response.hits || 0;\n\n return _.map(response.results, function(json) {\n if (json.className) {\n response.className = json.className;\n }\n var obj = self._newObject(response);\n obj.appURL = json['_app_url'];\n obj._finishFetch(self._processResult(json), true);\n return obj;\n });\n });\n },\n\n _getParams: function() {\n var params = AV.SearchQuery.__super__._getParams.call(this);\n delete params.where;\n if (this._clazz) {\n params.clazz = this.className;\n }\n if (this._sid) {\n params.sid = this._sid;\n }\n if (!this._queryString) {\n throw new Error('Please set query string.');\n } else {\n params.q = this._queryString;\n }\n if (this._highlights) {\n params.highlights = this._highlights.join(',');\n }\n if (this._sortBuilder && params.order) {\n throw new Error('sort and order can not be set at same time.');\n }\n if (this._sortBuilder) {\n params.sort = this._sortBuilder.build();\n }\n\n return params;\n },\n }\n );\n};\n\n/**\n * Sorts the results in ascending order by the given key.\n *\n * @method AV.SearchQuery#ascending\n * @param {String} key The key to order by.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n/**\n * Also sorts the results in ascending order by the given key. The previous sort keys have\n * precedence over this key.\n *\n * @method AV.SearchQuery#addAscending\n * @param {String} key The key to order by\n * @return {AV.SearchQuery} Returns the query so you can chain this call.\n */\n/**\n * Sorts the results in descending order by the given key.\n *\n * @method AV.SearchQuery#descending\n * @param {String} key The key to order by.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n/**\n * Also sorts the results in descending order by the given key. The previous sort keys have\n * precedence over this key.\n *\n * @method AV.SearchQuery#addDescending\n * @param {String} key The key to order by\n * @return {AV.SearchQuery} Returns the query so you can chain this call.\n */\n/**\n * Include nested AV.Objects for the provided key. You can use dot\n * notation to specify which fields in the included object are also fetch.\n * @method AV.SearchQuery#include\n * @param {String[]} keys The name of the key to include.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n/**\n * Sets the number of results to skip before returning any results.\n * This is useful for pagination.\n * Default is to skip zero results.\n * @method AV.SearchQuery#skip\n * @param {Number} n the number of results to skip.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n/**\n * Sets the limit of the number of results to return. The default limit is\n * 100, with a maximum of 1000 results being returned at a time.\n * @method AV.SearchQuery#limit\n * @param {Number} n the number of results to limit to.\n * @return {AV.SearchQuery} Returns the query, so you can chain this call.\n */\n\n\n\n// WEBPACK FOOTER //\n// ./src/search.js","const _ = require('underscore');\nconst AVError = require('./error');\nconst { request } = require('./request');\n\nmodule.exports = function(AV) {\n /**\n * 包含了使用了 LeanCloud\n * 离线数据分析功能的函数。\n * \n * 仅在云引擎运行环境下有效。\n *
\n * @namespace\n */\n AV.Insight = AV.Insight || {};\n\n _.extend(\n AV.Insight,\n /** @lends AV.Insight */ {\n /**\n * 开始一个 Insight 任务。结果里将返回 Job id,你可以拿得到的 id 使用\n * AV.Insight.JobQuery 查询任务状态和结果。\n * @param {Object} jobConfig 任务配置的 JSON 对象,例如:\n * { \"sql\" : \"select count(*) as c,gender from _User group by gender\",\n * \"saveAs\": {\n * \"className\" : \"UserGender\",\n * \"limit\": 1\n * }\n * }\n *
\n * sql 指定任务执行的 SQL 语句, saveAs(可选) 指定将结果保存在哪张表里,limit 最大 1000。\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n */\n startJob: function(jobConfig, options) {\n if (!jobConfig || !jobConfig.sql) {\n throw new Error('Please provide the sql to run the job.');\n }\n var data = {\n jobConfig: jobConfig,\n appId: AV.applicationId,\n };\n return request({\n path: '/bigquery/jobs',\n method: 'POST',\n data: AV._encode(data, null, true),\n authOptions: options,\n signKey: false,\n }).then(resp => AV._decode(resp).id);\n },\n\n /**\n * 监听 Insight 任务事件(未来推出独立部署的离线分析服务后开放)\n * \n * 仅在云引擎运行环境下有效。\n *
\n * @param {String} event 监听的事件,目前尚不支持。\n * @param {Function} 监听回调函数,接收 (err, id) 两个参数,err 表示错误信息,\n * id 表示任务 id。接下来你可以拿这个 id 使用AV.Insight.JobQuery 查询任务状态和结果。\n *\n */\n on: function(event, cb) {},\n }\n );\n\n /**\n * 创建一个对象,用于查询 Insight 任务状态和结果。\n * @class\n * @param {String} id 任务 id\n * @since 0.5.5\n */\n AV.Insight.JobQuery = function(id, className) {\n if (!id) {\n throw new Error('Please provide the job id.');\n }\n this.id = id;\n this.className = className;\n this._skip = 0;\n this._limit = 100;\n };\n\n _.extend(\n AV.Insight.JobQuery.prototype,\n /** @lends AV.Insight.JobQuery.prototype */ {\n /**\n * Sets the number of results to skip before returning any results.\n * This is useful for pagination.\n * Default is to skip zero results.\n * @param {Number} n the number of results to skip.\n * @return {AV.Query} Returns the query, so you can chain this call.\n */\n skip: function(n) {\n this._skip = n;\n return this;\n },\n\n /**\n * Sets the limit of the number of results to return. The default limit is\n * 100, with a maximum of 1000 results being returned at a time.\n * @param {Number} n the number of results to limit to.\n * @return {AV.Query} Returns the query, so you can chain this call.\n */\n limit: function(n) {\n this._limit = n;\n return this;\n },\n\n /**\n * 查询任务状态和结果,任务结果为一个 JSON 对象,包括 status 表示任务状态, totalCount 表示总数,\n * results 数组表示任务结果数组,previewCount 表示可以返回的结果总数,任务的开始和截止时间\n * startTime、endTime 等信息。\n *\n * @param {AuthOptions} [options]\n * @return {Promise} A promise that will be resolved with the result\n * of the function.\n *\n */\n find: function(options) {\n var params = {\n skip: this._skip,\n limit: this._limit,\n };\n\n return request({\n path: `/bigquery/jobs/${this.id}`,\n method: 'GET',\n query: params,\n authOptions: options,\n signKey: false,\n }).then(function(response) {\n if (response.error) {\n return Promise.reject(new AVError(response.code, response.error));\n }\n return Promise.resolve(response);\n });\n },\n }\n );\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/insight.js","const _ = require('underscore');\nconst { request: LCRequest } = require('./request');\nconst { getSessionToken } = require('./utils');\n\nmodule.exports = function(AV) {\n const getUserWithSessionToken = authOptions => {\n if (authOptions.user) {\n if (!authOptions.user._sessionToken) {\n throw new Error('authOptions.user is not signed in.');\n }\n return Promise.resolve(authOptions.user);\n }\n if (authOptions.sessionToken) {\n return AV.User._fetchUserBySessionToken(authOptions.sessionToken);\n }\n return AV.User.currentAsync();\n };\n\n const getSessionTokenAsync = authOptions => {\n const sessionToken = getSessionToken(authOptions);\n if (sessionToken) {\n return Promise.resolve(sessionToken);\n }\n return AV.User.currentAsync().then(user => {\n if (user) {\n return user.getSessionToken();\n }\n });\n };\n\n /**\n * Contains functions to deal with Friendship in LeanCloud.\n * @class\n */\n AV.Friendship = {\n /**\n * Request friendship.\n * @since 4.8.0\n * @param {String | AV.User | Object} options if an AV.User or string is given, it will be used as the friend.\n * @param {AV.User | string} options.friend The friend (or friend's objectId) to follow.\n * @param {Object} [options.attributes] key-value attributes dictionary to be used as conditions of followeeQuery.\n * @param {AuthOptions} [authOptions]\n * @return {PromiseAn AV.Conversation is a local representation of a LeanCloud realtime's\n * conversation. This class is a subclass of AV.Object, and retains the\n * same functionality of an AV.Object, but also extends it with various\n * conversation specific methods, like get members, creators of this conversation.\n *
\n *\n * @class AV.Conversation\n * @param {String} name The name of the Role to create.\n * @param {Object} [options]\n * @param {Boolean} [options.isSystem] Set this conversation as system conversation.\n * @param {Boolean} [options.isTransient] Set this conversation as transient conversation.\n */\nmodule.exports = AV.Object.extend(\n '_Conversation',\n /** @lends AV.Conversation.prototype */ {\n constructor(name, options = {}) {\n AV.Object.prototype.constructor.call(this, null, null);\n this.set('name', name);\n if (options.isSystem !== undefined) {\n this.set('sys', options.isSystem ? true : false);\n }\n if (options.isTransient !== undefined) {\n this.set('tr', options.isTransient ? true : false);\n }\n },\n /**\n * Get current conversation's creator.\n *\n * @return {String}\n */\n getCreator() {\n return this.get('c');\n },\n\n /**\n * Get the last message's time.\n *\n * @return {Date}\n */\n getLastMessageAt() {\n return this.get('lm');\n },\n\n /**\n * Get this conversation's members\n *\n * @return {String[]}\n */\n getMembers() {\n return this.get('m');\n },\n\n /**\n * Add a member to this conversation\n *\n * @param {String} member\n */\n addMember(member) {\n return this.add('m', member);\n },\n\n /**\n * Get this conversation's members who set this conversation as muted.\n *\n * @return {String[]}\n */\n getMutedMembers() {\n return this.get('mu');\n },\n\n /**\n * Get this conversation's name field.\n *\n * @return String\n */\n getName() {\n return this.get('name');\n },\n\n /**\n * Returns true if this conversation is transient conversation.\n *\n * @return {Boolean}\n */\n isTransient() {\n return this.get('tr');\n },\n\n /**\n * Returns true if this conversation is system conversation.\n *\n * @return {Boolean}\n */\n isSystem() {\n return this.get('sys');\n },\n\n /**\n * Send realtime message to this conversation, using HTTP request.\n *\n * @param {String} fromClient Sender's client id.\n * @param {String|Object} message The message which will send to conversation.\n * It could be a raw string, or an object with a `toJSON` method, like a\n * realtime SDK's Message object. See more: {@link https://leancloud.cn/docs/realtime_guide-js.html#消息}\n * @param {Object} [options]\n * @param {Boolean} [options.transient] Whether send this message as transient message or not.\n * @param {String[]} [options.toClients] Ids of clients to send to. This option can be used only in system conversation.\n * @param {Object} [options.pushData] Push data to this message. See more: {@link https://url.leanapp.cn/pushData 推送消息内容}\n * @param {AuthOptions} [authOptions]\n * @return {Promise}\n */\n send(fromClient, message, options = {}, authOptions = {}) {\n const data = {\n from_peer: fromClient,\n conv_id: this.id,\n transient: false,\n message: serializeMessage(message),\n };\n if (options.toClients !== undefined) {\n data.to_peers = options.toClients;\n }\n if (options.transient !== undefined) {\n data.transient = options.transient ? true : false;\n }\n if (options.pushData !== undefined) {\n data.push_data = options.pushData;\n }\n return _request('rtm', 'messages', null, 'POST', data, authOptions);\n },\n\n /**\n * Send realtime broadcast message to all clients, via this conversation, using HTTP request.\n *\n * @param {String} fromClient Sender's client id.\n * @param {String|Object} message The message which will send to conversation.\n * It could be a raw string, or an object with a `toJSON` method, like a\n * realtime SDK's Message object. See more: {@link https://leancloud.cn/docs/realtime_guide-js.html#消息}.\n * @param {Object} [options]\n * @param {Object} [options.pushData] Push data to this message. See more: {@link https://url.leanapp.cn/pushData 推送消息内容}.\n * @param {Object} [options.validTill] The message will valid till this time.\n * @param {AuthOptions} [authOptions]\n * @return {Promise}\n */\n broadcast(fromClient, message, options = {}, authOptions = {}) {\n const data = {\n from_peer: fromClient,\n conv_id: this.id,\n message: serializeMessage(message),\n };\n if (options.pushData !== undefined) {\n data.push = options.pushData;\n }\n if (options.validTill !== undefined) {\n let ts = options.validTill;\n if (_.isDate(ts)) {\n ts = ts.getTime();\n }\n options.valid_till = ts;\n }\n return _request('rtm', 'broadcast', null, 'POST', data, authOptions);\n },\n }\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/conversation.js","const _ = require('underscore');\nconst { request } = require('./request');\nconst { ensureArray, parseDate } = require('./utils');\nconst AV = require('./av');\n\n/**\n * The version change interval for Leaderboard\n * @enum\n */\nAV.LeaderboardVersionChangeInterval = {\n NEVER: 'never',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n};\n\n/**\n * The order of the leaderboard results\n * @enum\n */\nAV.LeaderboardOrder = {\n ASCENDING: 'ascending',\n DESCENDING: 'descending',\n};\n\n/**\n * The update strategy for Leaderboard\n * @enum\n */\nAV.LeaderboardUpdateStrategy = {\n /** Only keep the best statistic. If the leaderboard is in descending order, the best statistic is the highest one. */\n BETTER: 'better',\n /** Keep the last updated statistic */\n LAST: 'last',\n /** Keep the sum of all updated statistics */\n SUM: 'sum',\n};\n\n/**\n * @typedef {Object} Ranking\n * @property {number} rank Starts at 0\n * @property {number} value the statistic value of this ranking\n * @property {AV.User} user The user of this ranking\n * @property {Statistic[]} [includedStatistics] Other statistics of the user, specified by the `includeStatistic` option of `AV.Leaderboard.getResults()`\n */\n\n/**\n * @typedef {Object} LeaderboardArchive\n * @property {string} statisticName\n * @property {number} version version of the leaderboard\n * @property {string} status\n * @property {string} url URL for the downloadable archive\n * @property {Date} activatedAt time when this version became active\n * @property {Date} deactivatedAt time when this version was deactivated by a version incrementing\n */\n\n/**\n * @class\n */\nfunction Statistic({ name, value, version }) {\n /**\n * @type {string}\n */\n this.name = name;\n /**\n * @type {number}\n */\n this.value = value;\n /**\n * @type {number?}\n */\n this.version = version;\n}\n\nconst parseStatisticData = statisticData => {\n const { statisticName: name, statisticValue: value, version } = AV._decode(\n statisticData\n );\n return new Statistic({ name, value, version });\n};\n\n/**\n * @class\n */\nAV.Leaderboard = function Leaderboard(statisticName) {\n /**\n * @type {string}\n */\n this.statisticName = statisticName;\n /**\n * @type {AV.LeaderboardOrder}\n */\n this.order = undefined;\n /**\n * @type {AV.LeaderboardUpdateStrategy}\n */\n this.updateStrategy = undefined;\n /**\n * @type {AV.LeaderboardVersionChangeInterval}\n */\n this.versionChangeInterval = undefined;\n /**\n * @type {number}\n */\n this.version = undefined;\n /**\n * @type {Date?}\n */\n this.nextResetAt = undefined;\n /**\n * @type {Date?}\n */\n this.createdAt = undefined;\n};\nconst Leaderboard = AV.Leaderboard;\n\n/**\n * Create an instance of Leaderboard for the give statistic name.\n * @param {string} statisticName\n * @return {AV.Leaderboard}\n */\nAV.Leaderboard.createWithoutData = statisticName =>\n new Leaderboard(statisticName);\n/**\n * (masterKey required) Create a new Leaderboard.\n * @param {Object} options\n * @param {string} options.statisticName\n * @param {AV.LeaderboardOrder} options.order\n * @param {AV.LeaderboardVersionChangeInterval} [options.versionChangeInterval] default to WEEK\n * @param {AV.LeaderboardUpdateStrategy} [options.updateStrategy] default to BETTER\n * @param {AuthOptions} [authOptions]\n * @return {Promise