{ "version": 3, "sources": ["../../../node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js", "../../../node_modules/lodash/isObject.js", "../../../node_modules/lodash/_freeGlobal.js", "../../../node_modules/lodash/_root.js", "../../../node_modules/lodash/now.js", "../../../node_modules/lodash/_trimmedEndIndex.js", "../../../node_modules/lodash/_baseTrim.js", "../../../node_modules/lodash/_Symbol.js", "../../../node_modules/lodash/_getRawTag.js", "../../../node_modules/lodash/_objectToString.js", "../../../node_modules/lodash/_baseGetTag.js", "../../../node_modules/lodash/isObjectLike.js", "../../../node_modules/lodash/isSymbol.js", "../../../node_modules/lodash/toNumber.js", "../../../node_modules/lodash/debounce.js", "../../../node_modules/lodash/throttle.js", "../../../node_modules/@vue/reactivity/node_modules/@vue/shared/dist/shared.cjs.js", "../../../node_modules/@vue/reactivity/node_modules/@vue/shared/index.js", "../../../node_modules/@vue/reactivity/dist/reactivity.cjs.js", "../../../node_modules/@vue/reactivity/index.js", "../../../node_modules/@vue/runtime-core/node_modules/@vue/shared/dist/shared.cjs.js", "../../../node_modules/@vue/runtime-core/node_modules/@vue/shared/index.js", "../../../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js", "../../../node_modules/@vue/runtime-core/index.js", "../../../node_modules/@vue/runtime-dom/node_modules/@vue/shared/dist/shared.cjs.js", "../../../node_modules/@vue/runtime-dom/node_modules/@vue/shared/index.js", "../../../node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js", "../../../node_modules/@vue/runtime-dom/index.js", "../../../node_modules/@vue/compiler-core/node_modules/@vue/shared/dist/shared.cjs.js", "../../../node_modules/@vue/compiler-core/node_modules/@vue/shared/index.js", "../../../node_modules/@babel/parser/src/util/location.js", "../../../node_modules/@babel/parser/src/parse-error/credentials.js", "../../../node_modules/@babel/parser/src/parse-error/module-errors.js", "../../../node_modules/@babel/parser/src/parse-error/to-node-description.js", "../../../node_modules/@babel/parser/src/parse-error/standard-errors.js", "../../../node_modules/@babel/parser/src/parse-error/strict-mode-errors.js", "../../../node_modules/@babel/parser/src/parse-error/pipeline-operator-errors.js", "../../../node_modules/@babel/parser/src/parse-error.js", "../../../node_modules/@babel/parser/src/plugins/estree.js", "../../../node_modules/@babel/parser/src/tokenizer/context.js", "../../../node_modules/@babel/parser/src/tokenizer/types.js", "../../../node_modules/@babel/babel-helper-validator-identifier/src/identifier.ts", "../../../node_modules/@babel/babel-helper-validator-identifier/src/keyword.ts", "../../../node_modules/@babel/parser/src/util/identifier.js", "../../../node_modules/@babel/parser/src/util/scopeflags.js", "../../../node_modules/@babel/parser/src/parser/base.js", "../../../node_modules/@babel/parser/src/parser/comments.js", "../../../node_modules/@babel/parser/src/util/whitespace.js", "../../../node_modules/@babel/parser/src/tokenizer/state.js", "../../../node_modules/@babel/parser/src/tokenizer/index.js", "../../../node_modules/@babel/parser/src/util/scope.js", "../../../node_modules/@babel/parser/src/plugins/flow/scope.js", "../../../node_modules/@babel/parser/src/util/class-scope.js", "../../../node_modules/@babel/parser/src/util/expression-scope.js", "../../../node_modules/@babel/parser/src/util/production-parameter.js", "../../../node_modules/@babel/parser/src/parser/util.js", "../../../node_modules/@babel/parser/src/parser/node.js", "../../../node_modules/@babel/parser/src/plugins/flow/index.js", "../../../node_modules/@babel/parser/src/plugins/jsx/xhtml.js", "../../../node_modules/@babel/parser/src/plugins/jsx/index.js", "../../../node_modules/@babel/parser/src/plugins/typescript/scope.js", "../../../node_modules/@babel/parser/src/plugins/typescript/index.js", "../../../node_modules/@babel/parser/src/plugins/placeholders.js", "../../../node_modules/@babel/parser/src/plugins/v8intrinsic.js", "../../../node_modules/@babel/parser/src/plugin-utils.js", "../../../node_modules/@babel/parser/src/options.js", "../../../node_modules/@babel/parser/src/parser/lval.js", "../../../node_modules/@babel/parser/src/parser/expression.js", "../../../node_modules/@babel/parser/src/parser/statement.js", "../../../node_modules/@babel/parser/src/parser/index.js", "../../../node_modules/@babel/parser/src/index.js", "../../../node_modules/source-map/lib/base64.js", "../../../node_modules/source-map/lib/base64-vlq.js", "../../../node_modules/source-map/lib/util.js", "../../../node_modules/source-map/lib/array-set.js", "../../../node_modules/source-map/lib/mapping-list.js", "../../../node_modules/source-map/lib/source-map-generator.js", "../../../node_modules/source-map/lib/binary-search.js", "../../../node_modules/source-map/lib/quick-sort.js", "../../../node_modules/source-map/lib/source-map-consumer.js", "../../../node_modules/source-map/lib/source-node.js", "../../../node_modules/source-map/source-map.js", "../../../node_modules/estree-walker/dist/umd/estree-walker.js", "../../../node_modules/@vue/compiler-core/dist/compiler-core.cjs.js", "../../../node_modules/@vue/compiler-core/index.js", "../../../node_modules/vue/node_modules/@vue/shared/dist/shared.cjs.js", "../../../node_modules/vue/node_modules/@vue/shared/index.js", "../../../node_modules/vue/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.js", "../../../node_modules/vue/node_modules/@vue/compiler-dom/index.js", "../../../node_modules/vue/dist/vue.cjs.js", "../../../node_modules/vue/index.js", "../../../node_modules/vuedraggable/node_modules/sortablejs/Sortable.min.js", "webpack://vuedraggable/webpack/universalModuleDefinition", "webpack://vuedraggable/webpack/bootstrap", "webpack://vuedraggable/node_modules/core-js/internals/to-string-tag-support.js", "webpack://vuedraggable/node_modules/core-js/internals/function-bind-context.js", "webpack://vuedraggable/node_modules/core-js/internals/object-get-own-property-names-external.js", "webpack://vuedraggable/node_modules/core-js/internals/object-get-own-property-descriptor.js", "webpack://vuedraggable/node_modules/core-js/internals/ie8-dom-define.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.reduce.js", "webpack://vuedraggable/node_modules/core-js/internals/regexp-exec-abstract.js", "webpack://vuedraggable/node_modules/core-js/modules/web.dom-collections.for-each.js", "webpack://vuedraggable/node_modules/core-js/internals/array-for-each.js", "webpack://vuedraggable/node_modules/core-js/internals/html.js", "webpack://vuedraggable/node_modules/core-js/internals/a-function.js", "webpack://vuedraggable/node_modules/core-js/internals/check-correctness-of-iteration.js", "webpack://vuedraggable/node_modules/core-js/internals/require-object-coercible.js", "webpack://vuedraggable/node_modules/core-js/internals/array-method-has-species-support.js", "webpack://vuedraggable/node_modules/core-js/internals/to-absolute-index.js", "webpack://vuedraggable/node_modules/core-js/internals/export.js", "webpack://vuedraggable/node_modules/core-js/internals/object-get-own-property-names.js", "webpack://vuedraggable/node_modules/core-js/modules/es.regexp.to-string.js", "webpack://vuedraggable/node_modules/core-js/modules/es.string.starts-with.js", "webpack://vuedraggable/node_modules/core-js/internals/engine-v8-version.js", "webpack://vuedraggable/node_modules/core-js/internals/engine-user-agent.js", "webpack://vuedraggable/node_modules/core-js/internals/get-iterator-method.js", "webpack://vuedraggable/node_modules/core-js/internals/object-define-properties.js", "webpack://vuedraggable/node_modules/core-js/internals/a-possible-prototype.js", "webpack://vuedraggable/node_modules/core-js/modules/es.string.iterator.js", "webpack://vuedraggable/node_modules/core-js/internals/iterators.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.for-each.js", "webpack://vuedraggable/node_modules/core-js/internals/path.js", "webpack://vuedraggable/node_modules/core-js/internals/indexed-object.js", "webpack://vuedraggable/node_modules/core-js/internals/add-to-unscopables.js", "webpack://vuedraggable/node_modules/core-js/internals/is-regexp.js", "webpack://vuedraggable/node_modules/core-js/internals/native-symbol.js", "webpack://vuedraggable/node_modules/core-js/internals/array-includes.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.filter.js", "webpack://vuedraggable/node_modules/core-js/internals/array-from.js", "webpack://vuedraggable/node_modules/core-js/modules/es.object.entries.js", "webpack://vuedraggable/node_modules/core-js/internals/to-length.js", "webpack://vuedraggable/node_modules/core-js/internals/has.js", "webpack://vuedraggable/node_modules/core-js/modules/es.string.replace.js", "webpack://vuedraggable/node_modules/core-js/internals/shared.js", "webpack://vuedraggable/node_modules/core-js/internals/own-keys.js", "webpack://vuedraggable/node_modules/core-js/internals/not-a-regexp.js", "webpack://vuedraggable/node_modules/core-js/internals/create-property-descriptor.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.flat-map.js", "webpack://vuedraggable/node_modules/core-js/internals/string-multibyte.js", "webpack://vuedraggable/node_modules/core-js/internals/array-species-create.js", "webpack://vuedraggable/node_modules/core-js/internals/internal-state.js", "webpack://vuedraggable/node_modules/core-js/internals/redefine.js", "webpack://vuedraggable/node_modules/core-js/internals/object-to-array.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.unscopables.flat-map.js", "webpack://vuedraggable/node_modules/core-js/internals/object-get-own-property-symbols.js", "webpack://vuedraggable/node_modules/core-js/internals/define-well-known-symbol.js", "webpack://vuedraggable/node_modules/core-js/internals/enum-bug-keys.js", "webpack://vuedraggable/node_modules/core-js/internals/to-object.js", "webpack://vuedraggable/node_modules/core-js/internals/object-create.js", "webpack://vuedraggable/node_modules/core-js/internals/define-iterator.js", "webpack://vuedraggable/node_modules/core-js/internals/native-weak-map.js", "webpack://vuedraggable/node_modules/core-js/internals/an-object.js", "webpack://vuedraggable/node_modules/core-js/internals/descriptors.js", "webpack://vuedraggable/node_modules/core-js/internals/create-property.js", "webpack://vuedraggable/node_modules/core-js/internals/is-object.js", "webpack://vuedraggable/node_modules/@soda/get-current-script/index.js", "webpack://vuedraggable/node_modules/core-js/internals/inspect-source.js", "webpack://vuedraggable/node_modules/core-js/internals/advance-string-index.js", "webpack://vuedraggable/external%20%7B%22commonjs%22:%22vue%22,%22commonjs2%22:%22vue%22,%22root%22:%22Vue%22%7D", "webpack://vuedraggable/node_modules/core-js/internals/uid.js", "webpack://vuedraggable/node_modules/core-js/internals/create-non-enumerable-property.js", "webpack://vuedraggable/node_modules/core-js/internals/regexp-exec.js", "webpack://vuedraggable/node_modules/core-js/internals/is-forced.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.concat.js", "webpack://vuedraggable/node_modules/core-js/internals/call-with-safe-iteration-closing.js", "webpack://vuedraggable/node_modules/core-js/internals/object-define-property.js", "webpack://vuedraggable/node_modules/core-js/internals/create-iterator-constructor.js", "webpack://vuedraggable/node_modules/core-js/internals/regexp-sticky-helpers.js", "webpack://vuedraggable/node_modules/core-js/internals/flatten-into-array.js", "webpack://vuedraggable/external%20%7B%22commonjs%22:%22sortablejs%22,%22commonjs2%22:%22sortablejs%22,%22amd%22:%22sortablejs%22,%22root%22:%22Sortable%22%7D", "webpack://vuedraggable/node_modules/core-js/modules/es.array.splice.js", "webpack://vuedraggable/node_modules/core-js/modules/es.symbol.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.from.js", "webpack://vuedraggable/node_modules/core-js/internals/array-method-is-strict.js", "webpack://vuedraggable/node_modules/core-js/internals/to-integer.js", "webpack://vuedraggable/node_modules/core-js/internals/correct-is-regexp-logic.js", "webpack://vuedraggable/node_modules/core-js/modules/es.regexp.exec.js", "webpack://vuedraggable/node_modules/core-js/internals/regexp-flags.js", "webpack://vuedraggable/node_modules/core-js/internals/array-method-uses-to-length.js", "webpack://vuedraggable/node_modules/core-js/internals/iterators-core.js", "webpack://vuedraggable/node_modules/core-js/internals/object-to-string.js", "webpack://vuedraggable/node_modules/core-js/modules/es.function.name.js", "webpack://vuedraggable/node_modules/core-js/internals/well-known-symbol.js", "webpack://vuedraggable/node_modules/core-js/modules/es.object.keys.js", "webpack://vuedraggable/node_modules/core-js/internals/array-iteration.js", "webpack://vuedraggable/node_modules/core-js/internals/to-primitive.js", "webpack://vuedraggable/node_modules/core-js/internals/is-pure.js", "webpack://vuedraggable/node_modules/core-js/internals/classof-raw.js", "webpack://vuedraggable/node_modules/core-js/internals/shared-store.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.find-index.js", "webpack://vuedraggable/(webpack)/buildin/global.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.index-of.js", "webpack://vuedraggable/node_modules/core-js/internals/object-keys-internal.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.includes.js", "webpack://vuedraggable/node_modules/core-js/internals/document-create-element.js", "webpack://vuedraggable/node_modules/core-js/internals/set-global.js", "webpack://vuedraggable/node_modules/core-js/internals/hidden-keys.js", "webpack://vuedraggable/node_modules/core-js/internals/fails.js", "webpack://vuedraggable/node_modules/core-js/internals/get-built-in.js", "webpack://vuedraggable/node_modules/core-js/internals/object-property-is-enumerable.js", "webpack://vuedraggable/node_modules/core-js/modules/es.symbol.iterator.js", "webpack://vuedraggable/node_modules/core-js/internals/object-set-prototype-of.js", "webpack://vuedraggable/node_modules/core-js/modules/es.object.to-string.js", "webpack://vuedraggable/node_modules/core-js/internals/set-to-string-tag.js", "webpack://vuedraggable/node_modules/core-js/internals/array-reduce.js", "webpack://vuedraggable/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.map.js", "webpack://vuedraggable/node_modules/core-js/internals/global.js", "webpack://vuedraggable/node_modules/core-js/modules/es.object.get-own-property-descriptors.js", "webpack://vuedraggable/src/util/console.js", "webpack://vuedraggable/node_modules/core-js/modules/web.dom-collections.iterator.js", "webpack://vuedraggable/node_modules/core-js/internals/object-keys.js", "webpack://vuedraggable/node_modules/core-js/modules/es.symbol.description.js", "webpack://vuedraggable/node_modules/core-js/internals/object-get-prototype-of.js", "webpack://vuedraggable/node_modules/core-js/internals/correct-prototype-getter.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.iterator.js", "webpack://vuedraggable/node_modules/core-js/modules/es.object.get-own-property-descriptor.js", "webpack://vuedraggable/node_modules/core-js/internals/well-known-symbol-wrapped.js", "webpack://vuedraggable/node_modules/core-js/internals/copy-constructor-properties.js", "webpack://vuedraggable/node_modules/core-js/internals/is-array.js", "webpack://vuedraggable/node_modules/core-js/internals/is-array-iterator-method.js", "webpack://vuedraggable/node_modules/core-js/internals/classof.js", "webpack://vuedraggable/node_modules/core-js/internals/shared-key.js", "webpack://vuedraggable/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/defineProperty.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/objectSpread2.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/slicedToArray.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/iterableToArray.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js", "webpack://vuedraggable/src/util/htmlHelper.js", "webpack://vuedraggable/src/util/string.js", "webpack://vuedraggable/src/core/sortableEvents.js", "webpack://vuedraggable/src/util/tags.js", "webpack://vuedraggable/src/core/componentBuilderHelper.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/classCallCheck.js", "webpack://vuedraggable/node_modules/@babel/runtime/helpers/esm/createClass.js", "webpack://vuedraggable/src/core/componentStructure.js", "webpack://vuedraggable/src/core/renderHelper.js", "webpack://vuedraggable/src/vuedraggable.js", "webpack://vuedraggable/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js", "webpack://vuedraggable/node_modules/core-js/modules/es.array.slice.js", "webpack://vuedraggable/node_modules/core-js/internals/to-indexed-object.js", "webpack://vuedraggable/node_modules/core-js/internals/dom-iterables.js", "webpack://vuedraggable/node_modules/core-js/internals/use-symbol-as-uid.js", "webpack://VueGridLayout/webpack/bootstrap", "webpack://VueGridLayout/node_modules/core-js/internals/function-bind-context.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-get-own-property-names-external.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-get-own-property-descriptor.js", "webpack://VueGridLayout/node_modules/core-js/internals/get-substitution.js", "webpack://VueGridLayout/node_modules/core-js/internals/ie8-dom-define.js", "webpack://VueGridLayout/node_modules/core-js/internals/regexp-exec-abstract.js", "webpack://VueGridLayout/node_modules/core-js/modules/web.dom-collections.for-each.js", "webpack://VueGridLayout/node_modules/core-js/internals/array-for-each.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/detection-strategy/object.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/browser-detector.js", "webpack://VueGridLayout/node_modules/core-js/internals/html.js", "webpack://VueGridLayout/node_modules/core-js/internals/a-function.js", "webpack://VueGridLayout/src/helpers/DOM.js", "webpack://VueGridLayout/node_modules/core-js/internals/require-object-coercible.js", "webpack://VueGridLayout/node_modules/core-js/internals/array-method-has-species-support.js", "webpack://VueGridLayout/node_modules/core-js/internals/to-absolute-index.js", "webpack://VueGridLayout/node_modules/core-js/internals/export.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-get-own-property-names.js", "webpack://VueGridLayout/node_modules/css-loader/dist/runtime/api.js", "webpack://VueGridLayout/src/components/index.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/id-generator.js", "webpack://VueGridLayout/node_modules/core-js/internals/engine-v8-version.js", "webpack://VueGridLayout/node_modules/lodash/lodash.js", "webpack://VueGridLayout/node_modules/core-js/internals/engine-user-agent.js", "webpack://VueGridLayout/src/components/GridLayout.vue", "webpack://VueGridLayout/node_modules/@babel/runtime/helpers/esm/defineProperty.js", "webpack://VueGridLayout/node_modules/@babel/runtime/helpers/esm/objectSpread2.js", "webpack://VueGridLayout/src/components/GridLayout.vue?373d", "webpack://VueGridLayout/src/components/GridLayout.vue?19aa", "webpack://VueGridLayout/node_modules/core-js/internals/object-define-properties.js", "webpack://VueGridLayout/node_modules/core-js/internals/a-possible-prototype.js", "webpack://VueGridLayout/node_modules/core-js/internals/path.js", "webpack://VueGridLayout/node_modules/core-js/internals/indexed-object.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.string.match.js", "webpack://VueGridLayout/node_modules/core-js/internals/native-symbol.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.string.trim.js", "webpack://VueGridLayout/node_modules/vue-style-loader/lib/listToStyles.js", "webpack://VueGridLayout/node_modules/vue-style-loader/lib/addStylesClient.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/listener-handler.js", "webpack://VueGridLayout/node_modules/core-js/internals/array-includes.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.array.filter.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/id-handler.js", "webpack://VueGridLayout/node_modules/batch-processor/src/utils.js", "webpack://VueGridLayout/node_modules/core-js/internals/to-length.js", "webpack://VueGridLayout/node_modules/core-js/internals/has.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.string.replace.js", "webpack://VueGridLayout/node_modules/core-js/internals/shared.js", "webpack://VueGridLayout/node_modules/core-js/internals/own-keys.js", "webpack://VueGridLayout/node_modules/core-js/internals/whitespaces.js", "webpack://VueGridLayout/node_modules/core-js/internals/string-trim.js", "webpack://VueGridLayout/src/components/GridLayout.vue?472e", "webpack://VueGridLayout/node_modules/element-resize-detector/src/element-utils.js", "webpack://VueGridLayout/node_modules/core-js/internals/create-property-descriptor.js", "webpack://VueGridLayout/node_modules/core-js/internals/engine-is-node.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-assign.js", "webpack://VueGridLayout/src/components/GridItem.vue?e437", "webpack://VueGridLayout/(webpack)/buildin/module.js", "webpack://VueGridLayout/node_modules/core-js/internals/string-multibyte.js", "webpack://VueGridLayout/node_modules/core-js/internals/array-species-create.js", "webpack://VueGridLayout/node_modules/core-js/internals/internal-state.js", "webpack://VueGridLayout/node_modules/core-js/internals/redefine.js", "webpack://VueGridLayout/node_modules/core-js/internals/inherit-if-required.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-get-own-property-symbols.js", "webpack://VueGridLayout/node_modules/core-js/internals/define-well-known-symbol.js", "webpack://VueGridLayout/node_modules/core-js/internals/enum-bug-keys.js", "webpack://VueGridLayout/node_modules/core-js/internals/to-object.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-create.js", "webpack://VueGridLayout/node_modules/core-js/internals/native-weak-map.js", "webpack://VueGridLayout/node_modules/core-js/internals/an-object.js", "webpack://VueGridLayout/node_modules/core-js/internals/descriptors.js", "webpack://VueGridLayout/node_modules/core-js/internals/create-property.js", "webpack://VueGridLayout/node_modules/core-js/internals/is-object.js", "webpack://VueGridLayout/node_modules/@soda/get-current-script/index.js", "webpack://VueGridLayout/node_modules/core-js/internals/inspect-source.js", "webpack://VueGridLayout/node_modules/core-js/internals/advance-string-index.js", "webpack://VueGridLayout/external%20%7B%22commonjs%22:%22vue%22,%22commonjs2%22:%22vue%22,%22root%22:%22Vue%22%7D", "webpack://VueGridLayout/node_modules/core-js/internals/uid.js", "webpack://VueGridLayout/node_modules/core-js/internals/create-non-enumerable-property.js", "webpack://VueGridLayout/node_modules/core-js/internals/regexp-exec.js", "webpack://VueGridLayout/node_modules/core-js/internals/is-forced.js", "webpack://VueGridLayout/src/helpers/responsiveUtils.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.array.concat.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-define-property.js", "webpack://VueGridLayout/node_modules/core-js/internals/regexp-sticky-helpers.js", "webpack://VueGridLayout/src/components/GridItem.vue?b470", "webpack://VueGridLayout/src/helpers/utils.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.array.splice.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.symbol.js", "webpack://VueGridLayout/node_modules/core-js/internals/array-method-is-strict.js", "webpack://VueGridLayout/node_modules/core-js/internals/to-integer.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.reflect.apply.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.number.constructor.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/reporter.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.regexp.exec.js", "webpack://VueGridLayout/node_modules/core-js/internals/regexp-flags.js", "webpack://VueGridLayout/src/components/GridLayout.vue?501a", "webpack://VueGridLayout/node_modules/core-js/internals/well-known-symbol.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.object.keys.js", "webpack://VueGridLayout/node_modules/core-js/internals/array-iteration.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/collection-utils.js", "webpack://VueGridLayout/src/components/GridItem.vue", "webpack://VueGridLayout/src/helpers/draggableUtils.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/domObjects.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/isWindow.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/window.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/is.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/browser.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/arr.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/clone.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/extend.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/raf.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/normalizeListeners.js", "webpack://VueGridLayout/node_modules/@interactjs/core/Eventable.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/domUtils.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/rect.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/getOriginXY.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/hypot.js", "webpack://VueGridLayout/node_modules/@interactjs/core/BaseEvent.js", "webpack://VueGridLayout/node_modules/@interactjs/core/defaultOptions.js", "webpack://VueGridLayout/node_modules/@interactjs/core/InteractEvent.js", "webpack://VueGridLayout/node_modules/@interactjs/core/isNonNativeEvent.js", "webpack://VueGridLayout/node_modules/@interactjs/core/Interactable.js", "webpack://VueGridLayout/node_modules/@interactjs/core/InteractableSet.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/pointerExtend.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/pointerUtils.js", "webpack://VueGridLayout/node_modules/@interactjs/core/events.js", "webpack://VueGridLayout/node_modules/@interactjs/utils/misc.js", "webpack://VueGridLayout/node_modules/@interactjs/core/interactStatic.js", "webpack://VueGridLayout/node_modules/@interactjs/core/PointerInfo.js", "webpack://VueGridLayout/node_modules/@interactjs/core/Interaction.js", "webpack://VueGridLayout/node_modules/@interactjs/core/interactablePreventDefault.js", "webpack://VueGridLayout/node_modules/@interactjs/core/interactionFinder.js", "webpack://VueGridLayout/node_modules/@interactjs/core/interactions.js", "webpack://VueGridLayout/node_modules/@interactjs/core/scope.js", "webpack://VueGridLayout/node_modules/@interactjs/interact/index.js", "webpack://VueGridLayout/node_modules/@interactjs/auto-start/InteractableMethods.js", "webpack://VueGridLayout/node_modules/@interactjs/auto-start/base.js", "webpack://VueGridLayout/node_modules/@interactjs/auto-start/dragAxis.js", "webpack://VueGridLayout/node_modules/@interactjs/auto-start/hold.js", "webpack://VueGridLayout/node_modules/@interactjs/auto-start/plugin.js", "webpack://VueGridLayout/node_modules/@interactjs/auto-start/index.js", "webpack://VueGridLayout/node_modules/@interactjs/actions/drag/plugin.js", "webpack://VueGridLayout/node_modules/@interactjs/actions/drag/index.js", "webpack://VueGridLayout/node_modules/@interactjs/actions/resize/plugin.js", "webpack://VueGridLayout/node_modules/@interactjs/actions/resize/index.js", "webpack://VueGridLayout/node_modules/@interactjs/snappers/edgeTarget.js", "webpack://VueGridLayout/node_modules/@interactjs/snappers/elements.js", "webpack://VueGridLayout/node_modules/@interactjs/snappers/grid.js", "webpack://VueGridLayout/node_modules/@interactjs/snappers/all.js", "webpack://VueGridLayout/node_modules/@interactjs/snappers/plugin.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/Modification.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/base.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/aspectRatio.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/noop.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/restrict/pointer.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/restrict/edges.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/restrict/rect.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/restrict/size.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/snap/pointer.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/snap/size.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/snap/edges.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/all.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/plugin.js", "webpack://VueGridLayout/node_modules/@interactjs/modifiers/index.js", "webpack://VueGridLayout/node_modules/@interactjs/dev-tools/plugin.js", "webpack://VueGridLayout/node_modules/@interactjs/dev-tools/index.js", "webpack://VueGridLayout/src/components/GridItem.vue?b8d1", "webpack://VueGridLayout/src/components/GridItem.vue?0590", "webpack://VueGridLayout/node_modules/core-js/internals/to-primitive.js", "webpack://VueGridLayout/node_modules/batch-processor/src/batch-processor.js", "webpack://VueGridLayout/node_modules/core-js/internals/is-pure.js", "webpack://VueGridLayout/node_modules/core-js/internals/classof-raw.js", "webpack://VueGridLayout/node_modules/core-js/internals/shared-store.js", "webpack://VueGridLayout/(webpack)/buildin/global.js", "webpack://VueGridLayout/node_modules/core-js/internals/string-trim-forced.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/detection-strategy/scroll.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-keys-internal.js", "webpack://VueGridLayout/node_modules/core-js/internals/document-create-element.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.object.assign.js", "webpack://VueGridLayout/node_modules/core-js/internals/set-global.js", "webpack://VueGridLayout/node_modules/mitt/dist/mitt.es.js", "webpack://VueGridLayout/src/components/mitt.js", "webpack://VueGridLayout/node_modules/core-js/internals/hidden-keys.js", "webpack://VueGridLayout/node_modules/core-js/internals/fails.js", "webpack://VueGridLayout/node_modules/core-js/internals/get-built-in.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-property-is-enumerable.js", "webpack://VueGridLayout/node_modules/core-js/internals/object-set-prototype-of.js", "webpack://VueGridLayout/node_modules/core-js/internals/set-to-string-tag.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/state-handler.js", "webpack://VueGridLayout/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.array.map.js", "webpack://VueGridLayout/node_modules/core-js/internals/global.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.object.get-own-property-descriptors.js", "webpack://VueGridLayout/src/components/GridLayout.vue?7cfa", "webpack://VueGridLayout/node_modules/core-js/internals/object-keys.js", "webpack://VueGridLayout/node_modules/core-js/internals/number-is-finite.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.object.get-own-property-descriptor.js", "webpack://VueGridLayout/node_modules/core-js/internals/well-known-symbol-wrapped.js", "webpack://VueGridLayout/node_modules/core-js/internals/copy-constructor-properties.js", "webpack://VueGridLayout/node_modules/core-js/internals/is-array.js", "webpack://VueGridLayout/node_modules/element-resize-detector/src/element-resize-detector.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.number.is-finite.js", "webpack://VueGridLayout/node_modules/core-js/internals/shared-key.js", "webpack://VueGridLayout/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js", "webpack://VueGridLayout/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js", "webpack://VueGridLayout/node_modules/core-js/modules/es.array.slice.js", "webpack://VueGridLayout/node_modules/core-js/internals/to-indexed-object.js", "webpack://VueGridLayout/node_modules/core-js/internals/dom-iterables.js", "webpack://VueGridLayout/node_modules/core-js/internals/use-symbol-as-uid.js", "webpack://VueGridLayout/src/components/GridItem.vue?1a6e", "../../../node_modules/lodash/_listCacheClear.js", "../../../node_modules/lodash/eq.js", "../../../node_modules/lodash/_assocIndexOf.js", "../../../node_modules/lodash/_listCacheDelete.js", "../../../node_modules/lodash/_listCacheGet.js", "../../../node_modules/lodash/_listCacheHas.js", "../../../node_modules/lodash/_listCacheSet.js", "../../../node_modules/lodash/_ListCache.js", "../../../node_modules/lodash/_stackClear.js", "../../../node_modules/lodash/_stackDelete.js", "../../../node_modules/lodash/_stackGet.js", "../../../node_modules/lodash/_stackHas.js", "../../../node_modules/lodash/isFunction.js", "../../../node_modules/lodash/_coreJsData.js", "../../../node_modules/lodash/_isMasked.js", "../../../node_modules/lodash/_toSource.js", "../../../node_modules/lodash/_baseIsNative.js", "../../../node_modules/lodash/_getValue.js", "../../../node_modules/lodash/_getNative.js", "../../../node_modules/lodash/_Map.js", "../../../node_modules/lodash/_nativeCreate.js", "../../../node_modules/lodash/_hashClear.js", "../../../node_modules/lodash/_hashDelete.js", "../../../node_modules/lodash/_hashGet.js", "../../../node_modules/lodash/_hashHas.js", "../../../node_modules/lodash/_hashSet.js", "../../../node_modules/lodash/_Hash.js", "../../../node_modules/lodash/_mapCacheClear.js", "../../../node_modules/lodash/_isKeyable.js", "../../../node_modules/lodash/_getMapData.js", "../../../node_modules/lodash/_mapCacheDelete.js", "../../../node_modules/lodash/_mapCacheGet.js", "../../../node_modules/lodash/_mapCacheHas.js", "../../../node_modules/lodash/_mapCacheSet.js", "../../../node_modules/lodash/_MapCache.js", "../../../node_modules/lodash/_stackSet.js", "../../../node_modules/lodash/_Stack.js", "../../../node_modules/lodash/_setCacheAdd.js", "../../../node_modules/lodash/_setCacheHas.js", "../../../node_modules/lodash/_SetCache.js", "../../../node_modules/lodash/_arraySome.js", "../../../node_modules/lodash/_cacheHas.js", "../../../node_modules/lodash/_equalArrays.js", "../../../node_modules/lodash/_Uint8Array.js", "../../../node_modules/lodash/_mapToArray.js", "../../../node_modules/lodash/_setToArray.js", "../../../node_modules/lodash/_equalByTag.js", "../../../node_modules/lodash/_arrayPush.js", "../../../node_modules/lodash/isArray.js", "../../../node_modules/lodash/_baseGetAllKeys.js", "../../../node_modules/lodash/_arrayFilter.js", "../../../node_modules/lodash/stubArray.js", "../../../node_modules/lodash/_getSymbols.js", "../../../node_modules/lodash/_baseTimes.js", "../../../node_modules/lodash/_baseIsArguments.js", "../../../node_modules/lodash/isArguments.js", "../../../node_modules/lodash/stubFalse.js", "../../../node_modules/lodash/isBuffer.js", "../../../node_modules/lodash/_isIndex.js", "../../../node_modules/lodash/isLength.js", "../../../node_modules/lodash/_baseIsTypedArray.js", "../../../node_modules/lodash/_baseUnary.js", "../../../node_modules/lodash/_nodeUtil.js", "../../../node_modules/lodash/isTypedArray.js", "../../../node_modules/lodash/_arrayLikeKeys.js", "../../../node_modules/lodash/_isPrototype.js", "../../../node_modules/lodash/_overArg.js", "../../../node_modules/lodash/_nativeKeys.js", "../../../node_modules/lodash/_baseKeys.js", "../../../node_modules/lodash/isArrayLike.js", "../../../node_modules/lodash/keys.js", "../../../node_modules/lodash/_getAllKeys.js", "../../../node_modules/lodash/_equalObjects.js", "../../../node_modules/lodash/_DataView.js", "../../../node_modules/lodash/_Promise.js", "../../../node_modules/lodash/_Set.js", "../../../node_modules/lodash/_WeakMap.js", "../../../node_modules/lodash/_getTag.js", "../../../node_modules/lodash/_baseIsEqualDeep.js", "../../../node_modules/lodash/_baseIsEqual.js", "../../../node_modules/lodash/isEqual.js", "../../javascript/application.js", "../../../node_modules/@popperjs/core/lib/index.js", "../../../node_modules/@popperjs/core/lib/enums.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js", "../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js", "../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js", "../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js", "../../../node_modules/@popperjs/core/lib/utils/math.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js", "../../../node_modules/@popperjs/core/lib/dom-utils/contains.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js", "../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js", "../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js", "../../../node_modules/@popperjs/core/lib/utils/within.js", "../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js", "../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js", "../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js", "../../../node_modules/@popperjs/core/lib/modifiers/arrow.js", "../../../node_modules/@popperjs/core/lib/utils/getVariation.js", "../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js", "../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js", "../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js", "../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js", "../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js", "../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js", "../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js", "../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js", "../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js", "../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js", "../../../node_modules/@popperjs/core/lib/modifiers/flip.js", "../../../node_modules/@popperjs/core/lib/modifiers/hide.js", "../../../node_modules/@popperjs/core/lib/modifiers/offset.js", "../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js", "../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js", "../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js", "../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js", "../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js", "../../../node_modules/@popperjs/core/lib/utils/debounce.js", "../../../node_modules/@popperjs/core/lib/utils/format.js", "../../../node_modules/@popperjs/core/lib/utils/validateModifiers.js", "../../../node_modules/@popperjs/core/lib/utils/uniqueBy.js", "../../../node_modules/@popperjs/core/lib/utils/mergeByName.js", "../../../node_modules/@popperjs/core/lib/createPopper.js", "../../../node_modules/@popperjs/core/lib/popper-lite.js", "../../../node_modules/@popperjs/core/lib/popper.js", "../../../node_modules/bootstrap/js/src/util/index.js", "../../../node_modules/bootstrap/js/src/dom/event-handler.js", "../../../node_modules/bootstrap/js/src/dom/data.js", "../../../node_modules/bootstrap/js/src/dom/manipulator.js", "../../../node_modules/bootstrap/js/src/util/config.js", "../../../node_modules/bootstrap/js/src/base-component.js", "../../../node_modules/bootstrap/js/src/util/component-functions.js", "../../../node_modules/bootstrap/js/src/alert.js", "../../../node_modules/bootstrap/js/src/button.js", "../../../node_modules/bootstrap/js/src/dom/selector-engine.js", "../../../node_modules/bootstrap/js/src/util/swipe.js", "../../../node_modules/bootstrap/js/src/carousel.js", "../../../node_modules/bootstrap/js/src/collapse.js", "../../../node_modules/bootstrap/js/src/dropdown.js", "../../../node_modules/bootstrap/js/src/util/scrollbar.js", "../../../node_modules/bootstrap/js/src/util/backdrop.js", "../../../node_modules/bootstrap/js/src/util/focustrap.js", "../../../node_modules/bootstrap/js/src/modal.js", "../../../node_modules/bootstrap/js/src/offcanvas.js", "../../../node_modules/bootstrap/js/src/util/sanitizer.js", "../../../node_modules/bootstrap/js/src/util/template-factory.js", "../../../node_modules/bootstrap/js/src/tooltip.js", "../../../node_modules/bootstrap/js/src/popover.js", "../../../node_modules/bootstrap/js/src/scrollspy.js", "../../../node_modules/bootstrap/js/src/tab.js", "../../../node_modules/bootstrap/js/src/toast.js", "../../../node_modules/trix/src/trix/config/attachments.js", "../../../node_modules/trix/src/trix/config/block_attributes.js", "../../../node_modules/trix/src/trix/config/browser.js", "../../../node_modules/trix/src/trix/config/dompurify.js", "../../../node_modules/trix/src/trix/config/lang.js", "../../../node_modules/trix/src/trix/config/file_size_formatting.js", "../../../node_modules/trix/src/trix/constants.js", "../../../node_modules/trix/src/trix/core/helpers/extend.js", "../../../node_modules/trix/src/trix/core/helpers/dom.js", "../../../node_modules/trix/src/trix/config/input.js", "../../../node_modules/trix/src/trix/config/key_names.js", "../../../node_modules/trix/src/trix/config/parser.js", "../../../node_modules/trix/src/trix/config/text_attributes.js", "../../../node_modules/trix/src/trix/config/toolbar.js", "../../../node_modules/trix/src/trix/config/undo.js", "../../../node_modules/trix/src/trix/config/css.js", "../../../node_modules/trix/src/trix/core/basic_object.js", "../../../node_modules/trix/src/trix/core/utilities/utf16_string.js", "../../../node_modules/trix/src/trix/core/object.js", "../../../node_modules/trix/src/trix/core/helpers/arrays.js", "../../../node_modules/trix/src/trix/core/helpers/bidi.js", "../../../node_modules/trix/src/trix/core/helpers/config.js", "../../../node_modules/trix/src/trix/core/helpers/custom_elements.js", "../../../node_modules/trix/src/trix/core/helpers/events.js", "../../../node_modules/trix/src/trix/core/helpers/functions.js", "../../../node_modules/trix/src/trix/core/helpers/objects.js", "../../../node_modules/trix/src/trix/core/helpers/ranges.js", "../../../node_modules/trix/src/trix/observers/selection_change_observer.js", "../../../node_modules/trix/src/trix/core/helpers/strings.js", "../../../node_modules/trix/src/trix/core/collections/hash.js", "../../../node_modules/trix/src/trix/core/collections/object_group.js", "../../../node_modules/trix/src/trix/core/collections/object_map.js", "../../../node_modules/trix/src/trix/core/collections/element_store.js", "../../../node_modules/trix/src/trix/core/utilities/operation.js", "../../../node_modules/trix/src/trix/views/object_view.js", "../../../node_modules/trix/src/trix/models/html_sanitizer.js", "../../../node_modules/trix/src/trix/views/attachment_view.js", "../../../node_modules/trix/src/trix/views/previewable_attachment_view.js", "../../../node_modules/trix/src/trix/views/piece_view.js", "../../../node_modules/trix/src/trix/views/text_view.js", "../../../node_modules/trix/src/trix/views/block_view.js", "../../../node_modules/trix/src/trix/views/document_view.js", "../../../node_modules/trix/src/trix/models/piece.js", "../../../node_modules/trix/src/trix/operations/image_preload_operation.js", "../../../node_modules/trix/src/trix/models/attachment.js", "../../../node_modules/trix/src/trix/models/attachment_piece.js", "../../../node_modules/trix/src/trix/models/string_piece.js", "../../../node_modules/trix/src/trix/models/splittable_list.js", "../../../node_modules/trix/src/trix/models/text.js", "../../../node_modules/trix/src/trix/models/block.js", "../../../node_modules/trix/src/trix/models/document.js", "../../../node_modules/trix/src/trix/models/html_parser.js", "../../../node_modules/trix/src/trix/core/serialization.js", "../../../node_modules/trix/src/trix/models/managed_attachment.js", "../../../node_modules/trix/src/trix/models/attachment_manager.js", "../../../node_modules/trix/src/trix/models/line_break_insertion.js", "../../../node_modules/trix/src/trix/models/composition.js", "../../../node_modules/trix/src/trix/models/undo_manager.js", "../../../node_modules/trix/src/trix/filters/filter.js", "../../../node_modules/trix/src/trix/filters/attachment_gallery_filter.js", "../../../node_modules/trix/src/trix/models/editor.js", "../../../node_modules/trix/src/trix/models/location_mapper.js", "../../../node_modules/trix/src/trix/models/point_mapper.js", "../../../node_modules/trix/src/trix/models/selection_manager.js", "../../../node_modules/trix/src/trix/controllers/attachment_editor_controller.js", "../../../node_modules/trix/src/trix/controllers/composition_controller.js", "../../../node_modules/trix/src/trix/controllers/controller.js", "../../../node_modules/trix/src/trix/observers/mutation_observer.js", "../../../node_modules/trix/src/trix/operations/file_verification_operation.js", "../../../node_modules/trix/src/trix/models/flaky_android_keyboard_detector.js", "../../../node_modules/trix/src/trix/controllers/input_controller.js", "../../../node_modules/trix/src/trix/controllers/level_0_input_controller.js", "../../../node_modules/trix/src/trix/controllers/level_2_input_controller.js", "../../../node_modules/trix/src/trix/controllers/toolbar_controller.js", "../../../node_modules/trix/src/trix/controllers/editor_controller.js", "../../../node_modules/trix/src/trix/elements/trix_toolbar_element.js", "../../../node_modules/trix/src/trix/elements/trix_editor_element.js", "../../../node_modules/trix/src/trix/trix.js", "../../../node_modules/@hotwired/stimulus/dist/stimulus.js", "../../javascript/controllers/application.js", "../../javascript/utilities/http.js", "../../javascript/controllers/actions/assignment_controller.js", "../../javascript/controllers/actions/attachment_link_controller.js", "../../javascript/controllers/actions/auto_subscribe_controller.js", "../../javascript/controllers/actions/nav_search_controller.js", "../../javascript/controllers/actions/nav_select_controller.js", "../../javascript/controllers/actions/self_subscribe_controller.js", "../../javascript/utilities/formats.js", "../../../node_modules/fuzzy-search/src/Helper.js", "../../../node_modules/fuzzy-search/src/FuzzySearch.js", "../../javascript/ui/noice_select.js", "../../javascript/controllers/actions/staff_subscribe_controller.js", "../../javascript/utilities/form_submit.js", "../../javascript/controllers/actions/status_change_controller.js", "../../javascript/controllers/format/display_controller.js", "../../javascript/controllers/format/input_controller.js", "../../javascript/utilities/elements.js", "../../javascript/controllers/forms/calculations_controller.js", "../../javascript/controllers/forms/cash_flow_controller.js", "../../javascript/controllers/forms/character_count_controller.js", "../../javascript/controllers/forms/comparisons_controller.js", "../../javascript/controllers/forms/linked_input_controller.js", "../../javascript/controllers/forms/nested_fields_controller.js", "../../javascript/controllers/forms/trix_upload_controller.js", "../../javascript/controllers/models/progress_report_controller.js", "../../javascript/controllers/models/promotion_opportunity_controller.js", "../../javascript/controllers/models/user_controller.js", "../../javascript/controllers/pages/allocation_request_recommendations_new_edit_controller.js", "../../javascript/controllers/pages/my_downloads_index_controller.js", "../../javascript/controllers/pages/people_edit_controller.js", "../../javascript/controllers/pages/projects_new_edit_controller.js", "../../javascript/controllers/pages/requests_new_edit_controller.js", "../../javascript/ui/edit_lock_helpers.js", "../../javascript/controllers/ui/edit_lock_controller.js", "../../javascript/controllers/ui/import_progress_controller.js", "../../javascript/controllers/ui/noice_select_controller.js", "../../javascript/controllers/ui/popover_controller.js", "../../javascript/controllers/ui/sticky_header_controller.js", "../../javascript/controllers/ui/tab_persistence_controller.js", "../../javascript/controllers/ui/table_controller.js", "../../javascript/controllers/ui/tabs_controller.js", "../../javascript/controllers/ui/toc_controller.js", "../../javascript/controllers/index.js", "../../../node_modules/chartkick/dist/chartkick.esm.js", "../../../node_modules/@kurkle/color/dist/color.esm.js", "../../../node_modules/chart.js/src/helpers/helpers.core.ts", "../../../node_modules/chart.js/src/helpers/helpers.math.ts", "../../../node_modules/chart.js/src/helpers/helpers.collection.ts", "../../../node_modules/chart.js/src/helpers/helpers.extras.ts", "../../../node_modules/chart.js/src/helpers/helpers.easing.ts", "../../../node_modules/chart.js/src/helpers/helpers.color.ts", "../../../node_modules/chart.js/src/core/core.animations.defaults.js", "../../../node_modules/chart.js/src/core/core.layouts.defaults.js", "../../../node_modules/chart.js/src/helpers/helpers.intl.ts", "../../../node_modules/chart.js/src/core/core.ticks.js", "../../../node_modules/chart.js/src/core/core.scale.defaults.js", "../../../node_modules/chart.js/src/core/core.defaults.js", "../../../node_modules/chart.js/src/helpers/helpers.canvas.js", "../../../node_modules/chart.js/src/helpers/helpers.options.ts", "../../../node_modules/chart.js/src/helpers/helpers.config.js", "../../../node_modules/chart.js/src/helpers/helpers.curve.ts", "../../../node_modules/chart.js/src/helpers/helpers.dom.ts", "../../../node_modules/chart.js/src/helpers/helpers.interpolation.ts", "../../../node_modules/chart.js/src/helpers/helpers.rtl.ts", "../../../node_modules/chart.js/src/helpers/helpers.segment.js", "../../../node_modules/chart.js/src/core/core.animator.js", "../../../node_modules/chart.js/src/core/core.animation.js", "../../../node_modules/chart.js/src/core/core.animations.js", "../../../node_modules/chart.js/src/core/core.datasetController.js", "../../../node_modules/chart.js/src/controllers/controller.bar.js", "../../../node_modules/chart.js/src/controllers/controller.bubble.js", "../../../node_modules/chart.js/src/controllers/controller.doughnut.js", "../../../node_modules/chart.js/src/controllers/controller.line.js", "../../../node_modules/chart.js/src/controllers/controller.polarArea.js", "../../../node_modules/chart.js/src/controllers/controller.pie.js", "../../../node_modules/chart.js/src/controllers/controller.radar.js", "../../../node_modules/chart.js/src/controllers/controller.scatter.js", "../../../node_modules/chart.js/src/core/core.adapters.ts", "../../../node_modules/chart.js/src/core/core.interaction.js", "../../../node_modules/chart.js/src/core/core.layouts.js", "../../../node_modules/chart.js/src/platform/platform.base.js", "../../../node_modules/chart.js/src/platform/platform.basic.js", "../../../node_modules/chart.js/src/platform/platform.dom.js", "../../../node_modules/chart.js/src/platform/index.js", "../../../node_modules/chart.js/src/core/core.element.ts", "../../../node_modules/chart.js/src/core/core.scale.autoskip.js", "../../../node_modules/chart.js/src/core/core.scale.js", "../../../node_modules/chart.js/src/core/core.typedRegistry.js", "../../../node_modules/chart.js/src/core/core.registry.js", "../../../node_modules/chart.js/src/core/core.plugins.js", "../../../node_modules/chart.js/src/core/core.config.js", "../../../node_modules/chart.js/src/core/core.controller.js", "../../../node_modules/chart.js/src/elements/element.arc.ts", "../../../node_modules/chart.js/src/elements/element.line.js", "../../../node_modules/chart.js/src/elements/element.point.ts", "../../../node_modules/chart.js/src/elements/element.bar.js", "../../../node_modules/chart.js/src/plugins/plugin.colors.ts", "../../../node_modules/chart.js/src/plugins/plugin.decimation.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/filler.segment.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/filler.helper.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/filler.options.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/filler.target.stack.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/simpleArc.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/filler.target.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/filler.drawing.js", "../../../node_modules/chart.js/src/plugins/plugin.filler/index.js", "../../../node_modules/chart.js/src/plugins/plugin.legend.js", "../../../node_modules/chart.js/src/plugins/plugin.title.js", "../../../node_modules/chart.js/src/plugins/plugin.subtitle.js", "../../../node_modules/chart.js/src/plugins/plugin.tooltip.js", "../../../node_modules/chart.js/src/scales/scale.category.js", "../../../node_modules/chart.js/src/scales/scale.linearbase.js", "../../../node_modules/chart.js/src/scales/scale.linear.js", "../../../node_modules/chart.js/src/scales/scale.logarithmic.js", "../../../node_modules/chart.js/src/scales/scale.radialLinear.js", "../../../node_modules/chart.js/src/scales/scale.time.js", "../../../node_modules/chart.js/src/scales/scale.timeseries.js", "../../../node_modules/chart.js/src/index.ts", "../../../node_modules/chart.js/auto/auto.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/toInteger/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/requiredArgs/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/toDate/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addDays/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addMonths/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addMilliseconds/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addHours/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/defaultOptions/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfDay/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInCalendarDays/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addMinutes/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addQuarters/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addSeconds/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addWeeks/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/addYears/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/compareAsc/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/constants/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/isDate/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/isValid/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInCalendarMonths/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInCalendarYears/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInDays/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInMilliseconds/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/roundingMethods/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInHours/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInMinutes/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfDay/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfMonth/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/isLastDayOfMonth/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInMonths/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInQuarters/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInSeconds/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInWeeks/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/differenceInYears/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfMinute/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfQuarter/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfMonth/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfYear/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfYear/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfHour/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfMinute/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfQuarter/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/endOfSecond/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/subMilliseconds/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/getUTCWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/addLeadingZeros/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/format/lightFormatters/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/format/formatters/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/format/longFormatters/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/protectedTokens/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/locale/en-US/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/defaultLocale/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/format/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/assign/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/Setter.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/Parser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/constants.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/utils.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/setUTCWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/setUTCDay/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/_lib/setUTCISODay/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/_lib/parsers/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parse/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfHour/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/startOfSecond/index.js", "../../../node_modules/chartkick/node_modules/date-fns/esm/parseISO/index.js", "../../../node_modules/chartkick/node_modules/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.esm.js", "../../../node_modules/chartkick/chart.js/chart.esm.js", "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", "../../../node_modules/vue-demi/lib/index.mjs", "../../../node_modules/@vue/devtools-api/lib/esm/env.js", "../../../node_modules/@vue/devtools-api/lib/esm/const.js", "../../../node_modules/@vue/devtools-api/lib/esm/time.js", "../../../node_modules/@vue/devtools-api/lib/esm/proxy.js", "../../../node_modules/@vue/devtools-api/lib/esm/index.js", "../../../node_modules/pinia/dist/pinia.mjs", "../../javascript/vue/directives/uid.js", "app/javascript/vue/apps/shared/loading/loading.vue", "/srv/app/app/javascript/vue/apps/shared/loading/loading.vue?type=template", "../../javascript/vue/apps/shared/loading/loading.vue", "../../javascript/vue/apps/comments/stores/uiState.js", "../../javascript/vue/apps/comments/stores/comments.js", "../../../node_modules/date-fns/constants.js", "../../../node_modules/date-fns/constructFrom.js", "../../../node_modules/date-fns/toDate.js", "../../../node_modules/date-fns/isAfter.js", "../../javascript/vue/apps/comments/stores/viewer.js", "app/javascript/vue/apps/shared/icons/add.vue", "/srv/app/app/javascript/vue/apps/shared/icons/add.vue?type=template", "../../javascript/vue/apps/shared/icons/add.vue", "/srv/app/app/javascript/vue/apps/shared/icons/delete.vue?type=template", "../../javascript/vue/apps/shared/icons/delete.vue", "/srv/app/app/javascript/vue/apps/shared/icons/filter.vue?type=template", "../../javascript/vue/apps/shared/icons/filter.vue", "/srv/app/app/javascript/vue/apps/shared/icons/grid.vue?type=template", "../../javascript/vue/apps/shared/icons/grid.vue", "/srv/app/app/javascript/vue/apps/shared/icons/list.vue?type=template", "../../javascript/vue/apps/shared/icons/list.vue", "/srv/app/app/javascript/vue/apps/shared/icons/loading.vue?type=template", "../../javascript/vue/apps/shared/icons/loading.vue", "/srv/app/app/javascript/vue/apps/shared/icons/move.vue?type=template", "../../javascript/vue/apps/shared/icons/move.vue", "/srv/app/app/javascript/vue/apps/shared/icons/resize.vue?type=template", "../../javascript/vue/apps/shared/icons/resize.vue", "/srv/app/app/javascript/vue/apps/shared/icons/search.vue?type=template", "../../javascript/vue/apps/shared/icons/search.vue", "app/javascript/vue/apps/shared/icons/caret_prev.vue", "/srv/app/app/javascript/vue/apps/shared/icons/caret_prev.vue?type=template", "../../javascript/vue/apps/shared/icons/caret_prev.vue", "app/javascript/vue/apps/shared/icons/caret_next.vue", "/srv/app/app/javascript/vue/apps/shared/icons/caret_next.vue?type=template", "../../javascript/vue/apps/shared/icons/caret_next.vue", "/srv/app/app/javascript/vue/apps/shared/icons/plus.vue?type=template", "../../javascript/vue/apps/shared/icons/plus.vue", "/srv/app/app/javascript/vue/apps/shared/icons/settings.vue?type=template", "../../javascript/vue/apps/shared/icons/settings.vue", "/srv/app/app/javascript/vue/apps/shared/icons/save.vue?type=template", "../../javascript/vue/apps/shared/icons/save.vue", "/srv/app/app/javascript/vue/apps/shared/icons/images.vue?type=template", "../../javascript/vue/apps/shared/icons/images.vue", "/srv/app/app/javascript/vue/apps/shared/icons/eye-open.vue?type=template", "../../javascript/vue/apps/shared/icons/eye-open.vue", "/srv/app/app/javascript/vue/apps/shared/icons/eye-closed.vue?type=template", "../../javascript/vue/apps/shared/icons/eye-closed.vue", "/srv/app/app/javascript/vue/apps/shared/icons/edit.vue?type=template", "../../javascript/vue/apps/shared/icons/edit.vue", "/srv/app/app/javascript/vue/apps/shared/icons/reply.vue?type=template", "../../javascript/vue/apps/shared/icons/reply.vue", "/srv/app/app/javascript/vue/apps/shared/icons/chevron-down.vue?type=template", "../../javascript/vue/apps/shared/icons/chevron-down.vue", "/srv/app/app/javascript/vue/apps/shared/icons/chevron-up.vue?type=template", "../../javascript/vue/apps/shared/icons/chevron-up.vue", "/srv/app/app/javascript/vue/apps/shared/icons/connector.vue?type=template", "../../javascript/vue/apps/shared/icons/connector.vue", "/srv/app/app/javascript/vue/apps/shared/icons/close.vue?type=template", "../../javascript/vue/apps/shared/icons/close.vue", "/srv/app/app/javascript/vue/apps/shared/icons/archive.vue?type=template", "../../javascript/vue/apps/shared/icons/archive.vue", "app/javascript/vue/apps/shared/icons/expand.vue", "/srv/app/app/javascript/vue/apps/shared/icons/expand.vue?type=template", "../../javascript/vue/apps/shared/icons/expand.vue", "/srv/app/app/javascript/vue/apps/shared/icons/collapse.vue?type=template", "../../javascript/vue/apps/shared/icons/collapse.vue", "/srv/app/app/javascript/vue/apps/shared/icons/three-dots.vue?type=template", "../../javascript/vue/apps/shared/icons/three-dots.vue", "../../javascript/vue/apps/shared/icons/index.js", "app/javascript/vue/apps/comments/layout/utility.vue", "/srv/app/app/javascript/vue/apps/comments/layout/utility.vue?type=template", "../../javascript/vue/apps/comments/layout/utility.vue", "app/javascript/vue/apps/comments/layout/header.vue", "/srv/app/app/javascript/vue/apps/comments/layout/header.vue?type=template", "../../javascript/vue/apps/comments/layout/header.vue", "app/javascript/vue/apps/comments/comment/draggable.vue", "/srv/app/app/javascript/vue/apps/comments/comment/draggable.vue?type=template", "../../javascript/vue/apps/comments/comment/draggable.vue", "app/javascript/vue/apps/comments/comment/parts/edit.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/edit.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/edit.vue", "app/javascript/vue/apps/comments/comment/parts/reply.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/reply.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/reply.vue", "app/javascript/vue/apps/comments/comment/parts/actions.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/actions.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/actions.vue", "app/javascript/vue/apps/comments/comment/parts/actions-dropdown.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/actions-dropdown.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/actions-dropdown.vue", "app/javascript/vue/apps/comments/comment/parts/meta.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/meta.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/meta.vue", "../../../node_modules/vue-collapsed/dist/index.mjs", "../../../node_modules/@vueuse/shared/index.mjs", "../../../node_modules/@vueuse/core/index.mjs", "app/javascript/vue/apps/comments/comment/parts/body.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/body.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/body.vue", "app/javascript/vue/apps/comments/comment/parts/content.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/content.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/content.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/watermark.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/watermark.vue", "app/javascript/vue/apps/comments/comment/comment.vue", "/srv/app/app/javascript/vue/apps/comments/comment/comment.vue?type=template", "../../javascript/vue/apps/comments/comment/comment.vue", "app/javascript/vue/apps/comments/comment/parts/expandable.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/expandable.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/expandable.vue", "app/javascript/vue/apps/comments/comment/parts/new-replies.vue", "/srv/app/app/javascript/vue/apps/comments/comment/parts/new-replies.vue?type=template", "../../javascript/vue/apps/comments/comment/parts/new-replies.vue", "app/javascript/vue/apps/comments/comment/thread.vue", "/srv/app/app/javascript/vue/apps/comments/comment/thread.vue?type=template", "../../javascript/vue/apps/comments/comment/thread.vue", "app/javascript/vue/apps/comments/layout/empty.vue", "/srv/app/app/javascript/vue/apps/comments/layout/empty.vue?type=template", "../../javascript/vue/apps/comments/layout/empty.vue", "app/javascript/vue/apps/shared/modal/modal.vue", "/srv/app/app/javascript/vue/apps/shared/modal/modal.vue?type=template", "../../javascript/vue/apps/shared/modal/modal.vue", "app/javascript/vue/apps/comments/modals/delete.vue", "/srv/app/app/javascript/vue/apps/comments/modals/delete.vue?type=template", "../../javascript/vue/apps/comments/modals/delete.vue", "app/javascript/vue/apps/comments/modals/create/form.vue", "/srv/app/app/javascript/vue/apps/comments/modals/create/form.vue?type=template", "../../javascript/vue/apps/comments/modals/create/form.vue", "/srv/app/app/javascript/vue/apps/comments/modals/create/footer.vue?type=template", "../../javascript/vue/apps/comments/modals/create/footer.vue", "app/javascript/vue/apps/comments/modals/create/modal.vue", "/srv/app/app/javascript/vue/apps/comments/modals/create/modal.vue?type=template", "../../javascript/vue/apps/comments/modals/create/modal.vue", "app/javascript/vue/apps/comments/modals/resolve.vue", "/srv/app/app/javascript/vue/apps/comments/modals/resolve.vue?type=template", "../../javascript/vue/apps/comments/modals/resolve.vue", "app/javascript/vue/apps/comments/modals/reopen.vue", "/srv/app/app/javascript/vue/apps/comments/modals/reopen.vue?type=template", "../../javascript/vue/apps/comments/modals/reopen.vue", "app/javascript/vue/apps/comments/comments.vue", "/srv/app/app/javascript/vue/apps/comments/comments.vue?type=template", "../../javascript/vue/apps/comments/comments.vue", "../../javascript/vue/apps/comments/with-tab-filter.js", "../../javascript/vue/apps/comments/index.js", "app/javascript/vue/apps/signatures/blank_signature.vue", "/srv/app/app/javascript/vue/apps/signatures/blank_signature.vue?type=template", "../../javascript/vue/apps/signatures/blank_signature.vue", "app/javascript/vue/apps/signatures/create_signature_request.vue", "/srv/app/app/javascript/vue/apps/signatures/create_signature_request.vue?type=template", "../../javascript/vue/apps/signatures/create_signature_request.vue", "app/javascript/vue/apps/signatures/error.vue", "/srv/app/app/javascript/vue/apps/signatures/error.vue?type=template", "../../javascript/vue/apps/signatures/error.vue", "app/javascript/vue/apps/signatures/create_signature.vue", "/srv/app/app/javascript/vue/apps/signatures/create_signature.vue?type=template", "../../javascript/vue/apps/signatures/create_signature.vue", "app/javascript/vue/apps/signatures/existing_signature.vue", "/srv/app/app/javascript/vue/apps/signatures/existing_signature.vue?type=template", "../../javascript/vue/apps/signatures/existing_signature.vue", "app/javascript/vue/apps/signatures/requested_signature.vue", "/srv/app/app/javascript/vue/apps/signatures/requested_signature.vue?type=template", "../../javascript/vue/apps/signatures/requested_signature.vue", "app/javascript/vue/apps/signatures/signature.vue", "/srv/app/app/javascript/vue/apps/signatures/signature.vue?type=template", "../../javascript/vue/apps/signatures/signature.vue", "../../javascript/vue/apps/signatures/group.js", "../../javascript/vue/apps/signatures/index.js", "app/javascript/vue/apps/dashboard/layout/parts/grid.vue", "../../javascript/vue/apps/shared/pagination/helpers.js", "app/javascript/vue/apps/shared/pagination/pagination.vue", "/srv/app/app/javascript/vue/apps/shared/pagination/pagination.vue?type=template", "../../javascript/vue/apps/shared/pagination/pagination.vue", "../../javascript/vue/apps/dashboard/store.js", "app/javascript/vue/apps/dashboard/widget/parts/header.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/parts/header.vue?type=template", "../../javascript/vue/apps/dashboard/widget/parts/header.vue", "app/javascript/vue/apps/dashboard/widget/content/table/field.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/content/table/field.vue?type=template", "../../javascript/vue/apps/dashboard/widget/content/table/field.vue", "app/javascript/vue/apps/dashboard/widget/content/table/table.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/content/table/table.vue?type=template", "../../javascript/vue/apps/dashboard/widget/content/table/table.vue", "app/javascript/vue/apps/dashboard/widget/content/table.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/content/table.vue?type=template", "../../javascript/vue/apps/dashboard/widget/content/table.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/content/html.vue?type=template", "../../javascript/vue/apps/dashboard/widget/content/html.vue", "app/javascript/vue/apps/dashboard/widget/content/error/body.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/content/error/body.vue?type=template", "../../javascript/vue/apps/dashboard/widget/content/error/body.vue", "app/javascript/vue/apps/dashboard/widget/content/error.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/content/error.vue?type=template", "../../javascript/vue/apps/dashboard/widget/content/error.vue", "app/javascript/vue/apps/shared/form/atomic/base-switch.vue", "/srv/app/app/javascript/vue/apps/shared/form/atomic/base-switch.vue?type=template", "../../javascript/vue/apps/shared/form/atomic/base-switch.vue", "app/javascript/vue/apps/shared/form/atomic/base-select.vue", "/srv/app/app/javascript/vue/apps/shared/form/atomic/base-select.vue?type=template", "../../javascript/vue/apps/shared/form/atomic/base-select.vue", "app/javascript/vue/apps/shared/form/atomic/base-textarea.vue", "/srv/app/app/javascript/vue/apps/shared/form/atomic/base-textarea.vue?type=template", "../../javascript/vue/apps/shared/form/atomic/base-textarea.vue", "app/javascript/vue/apps/shared/form/atomic/base-input.vue", "/srv/app/app/javascript/vue/apps/shared/form/atomic/base-input.vue?type=template", "../../javascript/vue/apps/shared/form/atomic/base-input.vue", "app/javascript/vue/apps/dashboard/widget/content/settings.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/content/settings.vue?type=template", "../../javascript/vue/apps/dashboard/widget/content/settings.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/parts/overlay.vue?type=template", "../../javascript/vue/apps/dashboard/widget/parts/overlay.vue", "app/javascript/vue/apps/dashboard/widget/widget.vue", "/srv/app/app/javascript/vue/apps/dashboard/widget/widget.vue?type=template", "../../javascript/vue/apps/dashboard/widget/widget.vue", "../../javascript/vue/apps/dashboard/layout/parts/gridHelpers.js", "/srv/app/app/javascript/vue/apps/dashboard/layout/parts/grid.vue?type=template", "../../javascript/vue/apps/dashboard/layout/parts/grid.vue", "app/javascript/vue/apps/dashboard/layout/parts/dropdown.vue", "/srv/app/app/javascript/vue/apps/dashboard/layout/parts/dropdown.vue?type=template", "../../javascript/vue/apps/dashboard/layout/parts/dropdown.vue", "app/javascript/vue/apps/dashboard/layout/parts/header.vue", "/srv/app/app/javascript/vue/apps/dashboard/layout/parts/header.vue?type=template", "../../javascript/vue/apps/dashboard/layout/parts/header.vue", "/srv/app/app/javascript/vue/apps/dashboard/layout/parts/help.vue?type=template", "../../javascript/vue/apps/dashboard/layout/parts/help.vue", "/srv/app/app/javascript/vue/apps/dashboard/layout/container.vue?type=template", "../../javascript/vue/apps/dashboard/layout/container.vue", "../../javascript/vue/apps/dashboard/controller.js", "../../javascript/vue/apps/dashboard/index.js", "/srv/app/app/javascript/vue/apps/gallery/atomic/list-header.vue?type=template", "../../javascript/vue/apps/gallery/atomic/list-header.vue", "app/javascript/vue/apps/gallery/atomic/list-item-header.vue", "/srv/app/app/javascript/vue/apps/gallery/atomic/list-item-header.vue?type=template", "../../javascript/vue/apps/gallery/atomic/list-item-header.vue", "app/javascript/vue/apps/gallery/atomic/error.vue", "/srv/app/app/javascript/vue/apps/gallery/atomic/error.vue?type=template", "../../javascript/vue/apps/gallery/atomic/error.vue", "../../javascript/vue/apps/gallery/stores/files.js", "../../javascript/vue/apps/gallery/stores/pagination.js", "../../javascript/vue/apps/gallery/stores/filters.js", "../../javascript/vue/apps/gallery/stores/uiState.js", "../../javascript/vue/apps/gallery/utility/filters/inputs/file-type.js", "../../javascript/vue/apps/gallery/utility/filters/inputs/sort.js", "app/javascript/vue/apps/gallery/utility/filters/inputs/date-range.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/filters/inputs/date-range.vue?type=template", "../../javascript/vue/apps/gallery/utility/filters/inputs/date-range.vue", "../../javascript/vue/apps/gallery/utility/filters/inputs/per-page.js", "/srv/app/app/javascript/vue/apps/gallery/utility/filters/inputs/grant.vue?type=template", "../../javascript/vue/apps/gallery/utility/filters/inputs/grant.vue", "app/javascript/vue/apps/gallery/utility/filters/attachable/wrapper.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/filters/attachable/wrapper.vue?type=template", "../../javascript/vue/apps/gallery/utility/filters/attachable/wrapper.vue", "app/javascript/vue/apps/shared/offcanvas/offcanvas.vue", "/srv/app/app/javascript/vue/apps/shared/offcanvas/offcanvas.vue?type=template", "../../javascript/vue/apps/shared/offcanvas/offcanvas.vue", "app/javascript/vue/apps/shared/offcanvas/disclosure.vue", "/srv/app/app/javascript/vue/apps/shared/offcanvas/disclosure.vue?type=template", "../../javascript/vue/apps/shared/offcanvas/disclosure.vue", "app/javascript/vue/apps/gallery/utility/search.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/search.vue?type=template", "../../javascript/vue/apps/gallery/utility/search.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/filters/global/filters.vue?type=template", "../../javascript/vue/apps/gallery/utility/filters/global/filters.vue", "app/javascript/vue/apps/gallery/utility/filters/global/submit.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/filters/global/submit.vue?type=template", "../../javascript/vue/apps/gallery/utility/filters/global/submit.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/filters/global/wrapper.vue?type=template", "../../javascript/vue/apps/gallery/utility/filters/global/wrapper.vue", "app/javascript/vue/apps/shared/modal/disclosure.vue", "/srv/app/app/javascript/vue/apps/shared/modal/disclosure.vue?type=template", "../../javascript/vue/apps/shared/modal/disclosure.vue", "app/javascript/vue/apps/gallery/utility/add.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/add.vue?type=template", "../../javascript/vue/apps/gallery/utility/add.vue", "../../javascript/vue/apps/gallery/utility/pagination.js", "app/javascript/vue/apps/gallery/utility/view-buttons.vue", "/srv/app/app/javascript/vue/apps/gallery/utility/view-buttons.vue?type=template", "../../javascript/vue/apps/gallery/utility/view-buttons.vue", "app/javascript/vue/apps/gallery/layout/utility.vue", "/srv/app/app/javascript/vue/apps/gallery/layout/utility.vue?type=template", "../../javascript/vue/apps/gallery/layout/utility.vue", "app/javascript/vue/apps/gallery/layout/container.vue", "/srv/app/app/javascript/vue/apps/gallery/layout/container.vue?type=template", "../../javascript/vue/apps/gallery/layout/container.vue", "app/javascript/vue/apps/gallery/attachment/types/document.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/types/document.vue?type=template", "../../javascript/vue/apps/gallery/attachment/types/document.vue", "app/javascript/vue/apps/gallery/attachment/types/image.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/types/image.vue?type=template", "../../javascript/vue/apps/gallery/attachment/types/image.vue", "app/javascript/vue/apps/gallery/attachment/attachment.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/attachment.vue?type=template", "../../javascript/vue/apps/gallery/attachment/attachment.vue", "app/javascript/vue/apps/gallery/attachment/detail/parts/body.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/detail/parts/body.vue?type=template", "../../javascript/vue/apps/gallery/attachment/detail/parts/body.vue", "app/javascript/vue/apps/gallery/attachment/detail/parts/footer.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/detail/parts/footer.vue?type=template", "../../javascript/vue/apps/gallery/attachment/detail/parts/footer.vue", "app/javascript/vue/apps/gallery/form/create.vue", "/srv/app/app/javascript/vue/apps/gallery/form/create.vue?type=template", "../../javascript/vue/apps/gallery/form/create.vue", "app/javascript/vue/apps/gallery/form/delete.vue", "/srv/app/app/javascript/vue/apps/gallery/form/delete.vue?type=template", "../../javascript/vue/apps/gallery/form/delete.vue", "app/javascript/vue/apps/gallery/form/edit.vue", "/srv/app/app/javascript/vue/apps/gallery/form/edit.vue?type=template", "../../javascript/vue/apps/gallery/form/edit.vue", "app/javascript/vue/apps/gallery/form/move-clone.vue", "/srv/app/app/javascript/vue/apps/gallery/form/move-clone.vue?type=template", "../../javascript/vue/apps/gallery/form/move-clone.vue", "../../javascript/vue/apps/gallery/form/bulk-create/fileTypes.js", "app/javascript/vue/apps/gallery/form/bulk-create/files-list.vue", "/srv/app/app/javascript/vue/apps/gallery/form/bulk-create/files-list.vue?type=template", "../../javascript/vue/apps/gallery/form/bulk-create/files-list.vue", "app/javascript/vue/apps/gallery/form/bulk-create/bulk-create.vue", "/srv/app/app/javascript/vue/apps/gallery/form/bulk-create/bulk-create.vue?type=template", "../../javascript/vue/apps/gallery/form/bulk-create/bulk-create.vue", "app/javascript/vue/apps/gallery/attachment/detail/layout/overlay.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/detail/layout/overlay.vue?type=template", "../../javascript/vue/apps/gallery/attachment/detail/layout/overlay.vue", "app/javascript/vue/apps/gallery/attachment/detail/layout/modal.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/detail/layout/modal.vue?type=template", "../../javascript/vue/apps/gallery/attachment/detail/layout/modal.vue", "app/javascript/vue/apps/gallery/attachment/detail/layout/detail.vue", "/srv/app/app/javascript/vue/apps/gallery/attachment/detail/layout/detail.vue?type=template", "../../javascript/vue/apps/gallery/attachment/detail/layout/detail.vue", "app/javascript/vue/apps/gallery/layout/item.vue", "/srv/app/app/javascript/vue/apps/gallery/layout/item.vue?type=template", "../../javascript/vue/apps/gallery/layout/item.vue", "app/javascript/vue/apps/gallery/layout/list.vue", "/srv/app/app/javascript/vue/apps/gallery/layout/list.vue?type=template", "../../javascript/vue/apps/gallery/layout/list.vue", "../../javascript/vue/apps/gallery/controller.js", "../../javascript/vue/apps/gallery/index.js"], "sourcesContent": ["/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */;\n\n(function() {\n var context = this;\n\n (function() {\n (function() {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n\n }).call(this);\n }).call(context);\n\n var Rails = context.Rails;\n\n (function() {\n (function() {\n var nonce;\n\n nonce = null;\n\n Rails.loadCSPNonce = function() {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function() {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n\n }).call(this);\n (function() {\n var expando, m;\n\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function(element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function(element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function(element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n\n Rails.$ = function(selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n\n }).call(this);\n (function() {\n var $, csrfParam, csrfToken;\n\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function(xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function() {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if ((token != null) && (param != null)) {\n return $('form input[name=\"' + param + '\"]').forEach(function(input) {\n return input.value = token;\n });\n }\n };\n\n }).call(this);\n (function() {\n var CustomEvent, fire, matches, preventDefault;\n\n matches = Rails.matches;\n\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function() {\n var result;\n result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n }\n return result;\n };\n }\n\n fire = Rails.fire = function(obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function(e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function(element, selector, eventType, handler) {\n return element.addEventListener(eventType, function(e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n\n }).call(this);\n (function() {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function(options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function() {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if ((options.beforeSend != null) && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n\n createXHR = function(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function() {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n\n processResponse = function(response, type) {\n var parser, script;\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n\n Rails.href = function(element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function(url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host));\n } catch (error) {\n e = error;\n return true;\n }\n };\n\n }).call(this);\n (function() {\n var matches, toArray;\n\n matches = Rails.matches;\n\n toArray = function(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function(element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function(input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function(option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function(param) {\n if (param.name != null) {\n return (encodeURIComponent(param.name)) + \"=\" + (encodeURIComponent(param.value));\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function(form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function(el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n\n }).call(this);\n (function() {\n var allowAction, fire, stopEverything;\n\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function(e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function(message, element) {\n return confirm(message);\n };\n\n allowAction = function(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer && callback;\n };\n\n }).call(this);\n (function() {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function(e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function(e) {\n var element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function(e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n\n }).call(this);\n (function() {\n var stopEverything;\n\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function(e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n\n }).call(this);\n (function() {\n var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything,\n slice = [].slice;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function(element) {\n var value;\n value = element.getAttribute('data-remote');\n return (value != null) && value !== 'false';\n };\n\n Rails.handleRemote = function(e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: (withCredentials != null) && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function(e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function(e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = (e.button != null) && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n\n }).call(this);\n (function() {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if ((typeof jQuery !== \"undefined\" && jQuery !== null) && (jQuery.ajax != null)) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function(options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function() {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function() {\n $(Rails.formEnableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function(e) {\n return setTimeout((function() {\n return disableElement(e);\n }), 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);\n", "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n", "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n", "var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n", "/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n", "var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n", "var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n", "var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n", "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n", "var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n", "var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n", "var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n * IMPORTANT: all calls of this function must be prefixed with\n * \\/\\*#\\_\\_PURE\\_\\_\\*\\/\n * So that rollup can tree-shake them if necessary.\n */\nfunction makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(',');\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];\n}\n\n/**\n * dev only flag -> name mapping\n */\nconst PatchFlagNames = {\n [1 /* PatchFlags.TEXT */]: `TEXT`,\n [2 /* PatchFlags.CLASS */]: `CLASS`,\n [4 /* PatchFlags.STYLE */]: `STYLE`,\n [8 /* PatchFlags.PROPS */]: `PROPS`,\n [16 /* PatchFlags.FULL_PROPS */]: `FULL_PROPS`,\n [32 /* PatchFlags.HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,\n [64 /* PatchFlags.STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,\n [128 /* PatchFlags.KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,\n [256 /* PatchFlags.UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,\n [512 /* PatchFlags.NEED_PATCH */]: `NEED_PATCH`,\n [1024 /* PatchFlags.DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,\n [2048 /* PatchFlags.DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,\n [-1 /* PatchFlags.HOISTED */]: `HOISTED`,\n [-2 /* PatchFlags.BAIL */]: `BAIL`\n};\n\n/**\n * Dev only\n */\nconst slotFlagsText = {\n [1 /* SlotFlags.STABLE */]: 'STABLE',\n [2 /* SlotFlags.DYNAMIC */]: 'DYNAMIC',\n [3 /* SlotFlags.FORWARDED */]: 'FORWARDED'\n};\n\nconst GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';\nconst isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n // Split the content into individual lines but capture the newline sequence\n // that separated each line. This is important because the actual sequence is\n // needed to properly take into account the full line length for offset\n // comparison\n let lines = source.split(/(\\r?\\n)/);\n // Separate the lines and newline sequences into separate arrays for easier referencing\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count +=\n lines[i].length +\n ((newlineSequences[i] && newlineSequences[i].length) || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\n const lineLength = lines[j].length;\n const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0;\n if (j === i) {\n // push underline\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item)\n ? parseStringStyle(item)\n : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n }\n else if (isString(value)) {\n return value;\n }\n else if (isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*.*?\\*\\//gs;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText\n .replace(styleCommentRE, '')\n .split(listDelimiterRE)\n .forEach(item => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = '';\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === 'number') {\n // only render valid values\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = '';\n if (isString(value)) {\n res = value;\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + ' ';\n }\n }\n }\n else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + ' ';\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\n// These tag configs are shared between compiler-dom and runtime-dom, so they\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element\nconst HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +\n 'header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +\n 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +\n 'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' +\n 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +\n 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' +\n 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' +\n 'option,output,progress,select,textarea,details,dialog,menu,' +\n 'summary,template,blockquote,iframe,tfoot';\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element\nconst SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +\n 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +\n 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +\n 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +\n 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +\n 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +\n 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +\n 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' +\n 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' +\n 'text,textPath,title,tspan,unknown,use,view';\nconst VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr';\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `true` flag.\n */\nconst isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS);\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `true` flag.\n */\nconst isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS);\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `true` flag.\n */\nconst isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS);\n\n/**\n * On the client we only need to offer special cases for boolean attributes that\n * have different names from their corresponding dom properties:\n * - itemscope -> N/A\n * - allowfullscreen -> allowFullscreen\n * - formnovalidate -> formNoValidate\n * - ismap -> isMap\n * - nomodule -> noModule\n * - novalidate -> noValidate\n * - readonly -> readOnly\n */\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);\n/**\n * The full list is needed during SSR to produce the correct initial markup.\n */\nconst isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +\n `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +\n `loop,open,required,reversed,scoped,seamless,` +\n `checked,muted,multiple,selected`);\n/**\n * Boolean attributes should be included if the value is truthy or ''.\n * e.g. `` compiles to `{ multiple: '' }`\n */\nfunction includeBooleanAttr(value) {\n return !!value || value === '';\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return (attrValidationCache[name] = !isUnsafe);\n}\nconst propsToAttrMap = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv'\n};\n/**\n * Known attributes, this is used for stringification of runtime static nodes\n * so that we don't stringify bindings that cannot be set from HTML.\n * Don't also forget to allow `data-*` and `aria-*`!\n * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes\n */\nconst isKnownHtmlAttr = /*#__PURE__*/ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,` +\n `autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,` +\n `border,buffered,capture,challenge,charset,checked,cite,class,code,` +\n `codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,` +\n `coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,` +\n `disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,` +\n `formaction,formenctype,formmethod,formnovalidate,formtarget,headers,` +\n `height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,` +\n `ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,` +\n `manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,` +\n `open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,` +\n `referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,` +\n `selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,` +\n `start,step,style,summary,tabindex,target,title,translate,type,usemap,` +\n `value,width,wrap`);\n/**\n * Generated from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute\n */\nconst isKnownSvgAttr = /*#__PURE__*/ makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,` +\n `arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,` +\n `baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,` +\n `clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,` +\n `color-interpolation-filters,color-profile,color-rendering,` +\n `contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,` +\n `descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,` +\n `dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,` +\n `fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,` +\n `font-family,font-size,font-size-adjust,font-stretch,font-style,` +\n `font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,` +\n `glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,` +\n `gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,` +\n `horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,` +\n `k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,` +\n `lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,` +\n `marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,` +\n `mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,` +\n `name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,` +\n `overflow,overline-position,overline-thickness,panose-1,paint-order,path,` +\n `pathLength,patternContentUnits,patternTransform,patternUnits,ping,` +\n `pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,` +\n `preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,` +\n `rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,` +\n `restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,` +\n `specularConstant,specularExponent,speed,spreadMethod,startOffset,` +\n `stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,` +\n `strikethrough-position,strikethrough-thickness,string,stroke,` +\n `stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,` +\n `stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,` +\n `systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,` +\n `text-decoration,text-rendering,textLength,to,transform,transform-origin,` +\n `type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,` +\n `unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,` +\n `v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,` +\n `vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,` +\n `writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,` +\n `xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,` +\n `xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`);\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = '' + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = '';\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escaped = '"';\n break;\n case 38: // &\n escaped = '&';\n break;\n case 39: // '\n escaped = ''';\n break;\n case 60: // <\n escaped = '<';\n break;\n case 62: // >\n escaped = '>';\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\n// https://www.w3.org/TR/html52/syntax.html#comments\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\n/**\n * For converting {{ interpolation }} values to displayed strings.\n * @private\n */\nconst toDisplayString = (val) => {\n return isString(val)\n ? val\n : val == null\n ? ''\n : isArray(val) ||\n (isObject(val) &&\n (val.toString === objectToString || !isFunction(val.toString)))\n ? JSON.stringify(val, replacer, 2)\n : String(val);\n};\nconst replacer = (_key, val) => {\n // can't use isRef here since @vue/shared has no deps\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n }\n else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val]) => {\n entries[`${key} =>`] = val;\n return entries;\n }, {})\n };\n }\n else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n }\n else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\n\nconst EMPTY_OBJ = Object.freeze({})\n ;\nconst EMPTY_ARR = Object.freeze([]) ;\nconst NOOP = () => { };\n/**\n * Always return false.\n */\nconst NO = () => false;\nconst onRE = /^on[^a-z]/;\nconst isOn = (key) => onRE.test(key);\nconst isModelListener = (key) => key.startsWith('onUpdate:');\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === '[object Map]';\nconst isSet = (val) => toTypeString(val) === '[object Set]';\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isSymbol = (val) => typeof val === 'symbol';\nconst isObject = (val) => val !== null && typeof val === 'object';\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n // extract \"RawType\" from strings like \"[object RawType]\"\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\nconst isIntegerKey = (key) => isString(key) &&\n key !== 'NaN' &&\n key[0] !== '-' &&\n '' + parseInt(key, 10) === key;\nconst isReservedProp = /*#__PURE__*/ makeMap(\n// the leading comma is intentional so empty string \"\" is also included\n',key,ref,ref_for,ref_key,' +\n 'onVnodeBeforeMount,onVnodeMounted,' +\n 'onVnodeBeforeUpdate,onVnodeUpdated,' +\n 'onVnodeBeforeUnmount,onVnodeUnmounted');\nconst isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');\nconst cacheStringFunction = (fn) => {\n const cache = Object.create(null);\n return ((str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n });\n};\nconst camelizeRE = /-(\\w)/g;\n/**\n * @private\n */\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\n});\nconst hyphenateRE = /\\B([A-Z])/g;\n/**\n * @private\n */\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, '-$1').toLowerCase());\n/**\n * @private\n */\nconst capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));\n/**\n * @private\n */\nconst toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);\n// compare whether a value has changed, accounting for NaN.\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst toNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name)\n ? `__props.${name}`\n : `__props[${JSON.stringify(name)}]`;\n}\n\nexports.EMPTY_ARR = EMPTY_ARR;\nexports.EMPTY_OBJ = EMPTY_OBJ;\nexports.NO = NO;\nexports.NOOP = NOOP;\nexports.PatchFlagNames = PatchFlagNames;\nexports.camelize = camelize;\nexports.capitalize = capitalize;\nexports.def = def;\nexports.escapeHtml = escapeHtml;\nexports.escapeHtmlComment = escapeHtmlComment;\nexports.extend = extend;\nexports.genPropsAccessExp = genPropsAccessExp;\nexports.generateCodeFrame = generateCodeFrame;\nexports.getGlobalThis = getGlobalThis;\nexports.hasChanged = hasChanged;\nexports.hasOwn = hasOwn;\nexports.hyphenate = hyphenate;\nexports.includeBooleanAttr = includeBooleanAttr;\nexports.invokeArrayFns = invokeArrayFns;\nexports.isArray = isArray;\nexports.isBooleanAttr = isBooleanAttr;\nexports.isBuiltInDirective = isBuiltInDirective;\nexports.isDate = isDate;\nexports.isFunction = isFunction;\nexports.isGloballyWhitelisted = isGloballyWhitelisted;\nexports.isHTMLTag = isHTMLTag;\nexports.isIntegerKey = isIntegerKey;\nexports.isKnownHtmlAttr = isKnownHtmlAttr;\nexports.isKnownSvgAttr = isKnownSvgAttr;\nexports.isMap = isMap;\nexports.isModelListener = isModelListener;\nexports.isObject = isObject;\nexports.isOn = isOn;\nexports.isPlainObject = isPlainObject;\nexports.isPromise = isPromise;\nexports.isReservedProp = isReservedProp;\nexports.isSSRSafeAttrName = isSSRSafeAttrName;\nexports.isSVGTag = isSVGTag;\nexports.isSet = isSet;\nexports.isSpecialBooleanAttr = isSpecialBooleanAttr;\nexports.isString = isString;\nexports.isSymbol = isSymbol;\nexports.isVoidTag = isVoidTag;\nexports.looseEqual = looseEqual;\nexports.looseIndexOf = looseIndexOf;\nexports.makeMap = makeMap;\nexports.normalizeClass = normalizeClass;\nexports.normalizeProps = normalizeProps;\nexports.normalizeStyle = normalizeStyle;\nexports.objectToString = objectToString;\nexports.parseStringStyle = parseStringStyle;\nexports.propsToAttrMap = propsToAttrMap;\nexports.remove = remove;\nexports.slotFlagsText = slotFlagsText;\nexports.stringifyStyle = stringifyStyle;\nexports.toDisplayString = toDisplayString;\nexports.toHandlerKey = toHandlerKey;\nexports.toNumber = toNumber;\nexports.toRawType = toRawType;\nexports.toTypeString = toTypeString;\n", "'use strict'\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/shared.cjs.prod.js')\n} else {\n module.exports = require('./dist/shared.cjs.js')\n}\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar reactivity = require('@vue/reactivity');\nvar shared = require('@vue/shared');\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n // avoid props formatting or warn handler tracking deps that might be mutated\n // during patch, leading to infinite recursion.\n reactivity.pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\n msg + args.join(''),\n instance && instance.proxy,\n trace\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\n .join('\\n'),\n trace\n ]);\n }\n else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n /* istanbul ignore if */\n if (trace.length &&\n // avoid spamming console during tests\n !false) {\n warnArgs.push(`\\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n reactivity.resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n // we can't just use the stack because it will be incomplete during updates\n // that did not start from the root. Re-construct the parent chain using\n // instance parent pointers.\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n }\n else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\n/* istanbul ignore next */\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\n const close = `>` + postfix;\n return vnode.props\n ? [open, ...formatProps(vnode.props), close]\n : [open + close];\n}\n/* istanbul ignore next */\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach(key => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\n/* istanbul ignore next */\nfunction formatProp(key, value, raw) {\n if (shared.isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n }\n else if (typeof value === 'number' ||\n typeof value === 'boolean' ||\n value == null) {\n return raw ? value : [`${key}=${value}`];\n }\n else if (reactivity.isRef(value)) {\n value = formatProp(key, reactivity.toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n }\n else if (shared.isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n }\n else {\n value = reactivity.toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (shared.isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && shared.isPromise(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = ErrorTypeStrings[type] ;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n // crash in dev by default so it's more noticeable\n if (throwInDev) {\n throw err;\n }\n else {\n console.error(err);\n }\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!shared.isArray(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n {\n seen = seen || new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n {\n seen = seen || new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n {\n seen = seen || new Map();\n }\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = (job) => checkRecursiveUpdates(seen, job)\n ;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (true && check(job)) {\n continue;\n }\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n }\n else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\n `This means you have a reactive effect that is mutating its own ` +\n `dependencies and thus recursively triggering itself. Possible sources ` +\n `include component template, render function, updated hook or ` +\n `watcher source function.`);\n return true;\n }\n else {\n seen.set(fn, count + 1);\n }\n }\n}\n\n/* eslint-disable no-restricted-globals */\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = new Set();\n// Expose the HMR runtime on the global object\n// This makes it entirely tree-shakable without polluting the exports and makes\n// it easier to be used in toolings like vue-loader\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\n// to be set so that its instances can be registered / removed.\n{\n shared.getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n // update initial record (for not-yet-rendered component)\n record.initialDef.render = newRender;\n [...record.instances].forEach(instance => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n // this flag forces child components with slot content to update\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n // update initial def (for not-yet-rendered components)\n updateComponentDef(record.initialDef, newComp);\n // create a snapshot which avoids the set being mutated during updates\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n // 1. Update existing comp definition to match new one\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n // 2. mark definition dirty. This forces the renderer to replace the\n // component on patch.\n hmrDirtyComponents.add(oldComp);\n }\n // 3. invalidate options resolution cache\n instance.appContext.optionsCache.delete(instance.type);\n // 4. actually update\n if (instance.ceReload) {\n // custom element\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n }\n else if (instance.parent) {\n // 4. Force the parent instance to re-render. This will cause all updated\n // components to be unmounted and re-mounted. Queue the update so that we\n // don't end up forcing the same parent to re-render multiple times.\n queueJob(instance.parent.update);\n }\n else if (instance.appContext.reload) {\n // root instance mounted via createApp() has a reload method\n instance.appContext.reload();\n }\n else if (typeof window !== 'undefined') {\n // root instance inside tree created via raw render(). Force reload.\n window.location.reload();\n }\n else {\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\n }\n }\n // 5. make sure to cleanup dirty hmr components after update\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n shared.extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== '__file' && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n }\n catch (e) {\n console.error(e);\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\n `Full reload required.`);\n }\n };\n}\n\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit(event, ...args) {\n if (exports.devtools) {\n exports.devtools.emit(event, ...args);\n }\n else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n exports.devtools = hook;\n if (exports.devtools) {\n exports.devtools.enabled = true;\n buffer.forEach(({ event, args }) => exports.devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!exports.devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3000);\n }\n else {\n // non-browser env, assume not installed\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = \n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\nconst devtoolsComponentRemoved = (component) => {\n if (exports.devtools &&\n typeof exports.devtools.cleanupBuffer === 'function' &&\n // remove the component if it wasn't buffered\n !exports.devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\n };\n}\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || shared.EMPTY_OBJ;\n {\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) &&\n !(false )) {\n if (!propsOptions || !(shared.toHandlerKey(event) in propsOptions)) {\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\n `the emits option nor as an \"${shared.toHandlerKey(event)}\" prop.`);\n }\n }\n else {\n const validator = emitsOptions[event];\n if (shared.isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || shared.EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => (shared.isString(a) ? a.trim() : a));\n }\n if (number) {\n args = rawArgs.map(shared.toNumber);\n }\n }\n {\n devtoolsComponentEmit(instance, event, args);\n }\n {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[shared.toHandlerKey(lowerCaseEvent)]) {\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${shared.hyphenate(event)}\" instead of \"${event}\".`);\n }\n }\n let handlerName;\n let handler = props[(handlerName = shared.toHandlerKey(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = shared.toHandlerKey(shared.camelize(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = shared.toHandlerKey(shared.hyphenate(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (!shared.isFunction(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n shared.extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (shared.isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (shared.isArray(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n shared.extend(normalized, raw);\n }\n if (shared.isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !shared.isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return (shared.hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\n shared.hasOwn(options, shared.hyphenate(key)) ||\n shared.hasOwn(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled ``, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\n/**\n * dev only flag to track whether $attrs was used during render.\n * If $attrs was used during render then the warning for failed attrs\n * fallthrough can be suppressed.\n */\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if (true && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(render.length > 1\n ? render(props, true\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : { attrs, slots, emit })\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n let setRoot = undefined;\n if (result.patchFlag > 0 &&\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(shared.isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n else if (!accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (shared.isOn(key)) {\n // ignore v-model handlers when they fail to fallthrough\n if (!shared.isModelListener(key)) {\n // remove `on`, lowercase first letter to reflect event casing\n // accurately\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n }\n else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(`Extraneous non-props attributes (` +\n `${extraAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes.`);\n }\n if (eventAttrs.length) {\n warn(`Extraneous non-emits event listeners (` +\n `${eventAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes. ` +\n `If the listener is intended to be a component custom event listener only, ` +\n `declare it using the \"emits\" option.`);\n }\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n if (!isElementRoot(root)) {\n warn(`Runtime directive used on component with non-element root node. ` +\n `The directives will not function as intended.`);\n }\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n if (!isElementRoot(root)) {\n warn(`Component inside renders non-element root node ` +\n `that cannot be animated.`);\n }\n root.transition = vnode.transition;\n }\n if (setRoot) {\n setRoot(root);\n }\n else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\n/**\n * dev only\n * In dev mode, template root level comments are rendered, which turns the\n * template into a fragment root, but we need to locate the single element\n * root for attrs and scope id processing.\n */\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, undefined];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n }\n else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || shared.isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!shared.isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\n vnode.type === Comment // potential v-if branch switch\n );\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // Parent component's render function was hot-updated. Since this may have\n // caused the child component's slots content to have changed, we need to\n // force the child to update as well.\n if ((prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (shared.isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n /* istanbul ignore if */\n if (!hasWarned) {\n hasWarned = true;\n // @ts-ignore `console.info` cannot be null error\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\n }\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = shared.toNumber(vnode.props && vnode.props.timeout);\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(`suspense.resolve() is called without a pending branch.`);\n }\n if (suspense.isUnmounted) {\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\n }\n }\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n {\n pushWarningContext(vnode);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n {\n popWarningContext();\n }\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (shared.isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (shared.isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (shared.isArray(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n {\n warn(`provide() can only be used inside setup().`);\n }\n }\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && shared.isFunction(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else {\n warn(`injection \"${String(key)}\" not found.`);\n }\n }\n else {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, ({ ...options, flush: 'post' }\n ));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, ({ ...options, flush: 'sync' }\n ));\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (!shared.isFunction(cb)) {\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\n `supports \\`watch(source, cb, options?) signature.`);\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = shared.EMPTY_OBJ) {\n if (!cb) {\n if (immediate !== undefined) {\n warn(`watch() \"immediate\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n if (deep !== undefined) {\n warn(`watch() \"deep\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n }\n const warnInvalidSource = (s) => {\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\n `a reactive object, or an array of these types.`);\n };\n const instance = currentInstance;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (reactivity.isRef(source)) {\n getter = () => source.value;\n forceTrigger = reactivity.isShallow(source);\n }\n else if (reactivity.isReactive(source)) {\n getter = () => source;\n deep = true;\n }\n else if (shared.isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => reactivity.isReactive(s) || reactivity.isShallow(s));\n getter = () => source.map(s => {\n if (reactivity.isRef(s)) {\n return s.value;\n }\n else if (reactivity.isReactive(s)) {\n return traverse(s);\n }\n else if (shared.isFunction(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n warnInvalidSource(s);\n }\n });\n }\n else if (shared.isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = shared.NOOP;\n warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager or sync flush\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = shared.NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n if (flush === 'sync') {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n }\n else {\n return shared.NOOP;\n }\n }\n let oldValue = isMultiSource\n ? new Array(source.length).fill(INITIAL_WATCHER_VALUE)\n : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => shared.hasChanged(v, oldValue[i]))\n : shared.hasChanged(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE\n ? undefined\n : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)\n ? []\n : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new reactivity.ReactiveEffect(getter, scheduler);\n {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n shared.remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = shared.isString(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if (shared.isFunction(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!shared.isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (reactivity.isRef(value)) {\n traverse(value.value, seen);\n }\n else if (shared.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if (shared.isSet(value) || shared.isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if (shared.isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n if (hasFound) {\n // warn more than one non-comment child\n warn(' can only be used on a single element or component. ' +\n 'Use for lists.');\n break;\n }\n child = c;\n hasFound = true;\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = reactivity.toRaw(props);\n const { mode } = rawProps;\n // check mode\n if (mode &&\n mode !== 'in-out' &&\n mode !== 'out-in' &&\n mode !== 'default') {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of , we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n // #6835\n // it also needs to be updated when active is undefined\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (shared.isArray(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of